mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@digeo.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>,
	Christoph Hellwig <hch@sgi.com>,
	rml@tech9.net, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] set_cpus_allowed() for 2.4
Date: Tue, 03 Dec 2002 17:14:40 -0800	[thread overview]
Message-ID: <3DED5700.C32DC2B0@digeo.com> (raw)
In-Reply-To: <20021204004234.GL11730@dualathlon.random>

Andrea Arcangeli wrote:
> 
> On Tue, Dec 03, 2002 at 04:30:28PM -0800, Andrew Morton wrote:
> > load is just one or more busywaits.  It has to be a compilation.  It
> > could be something to do with all the short-lived processes, or gcc -pipe)
> 
> could be that we think they're very interactive or something like that.

I just retested.  This is on uniprocessor.  Running `make -j1 bzImage',
while typing into a StarOffice 5.2 document:

- 2.4.19-pre4: smooth
- 2.4.20aa1: Jerky.  Sometimes it's OK, sometimes a few characters
  lag.

Then I disabled `-pipe' in the build and restarted it:

- 2.4.19-pre4: smooth
- 2.4.20aa1: Quite a lot more jerky.  Enough to be a bit irritating.

> ...
> >
> > This problem is the "changed sched_yield semantics".  It was actually
> > tested on uniprocessor.  The difference between 2.4 and 2.4-aa is
> > still noticeable here, but it is not a terrible problem now.
> 
> strange, the algorithm should be nearly the same now (modulo RT). Still
> I wonder that's something else on the short lived gcc processes side.

Could be.  Removing -pipe affected it quite a bit.
 
> ...
> the right implementation would be probably to let all the other task
> run, so it can't waste entire timeslices if two tasks runs sched_yield
> in a loop and the holder waits behind them, but that proven to be quite
> slow in pratice for apps like openoffice (really when we tested that
> algorithm there were still various bugs but I still think letting all
> tasks to run before staroffice could make progress was the major reason
> of the slowdown, think all gcc spending their timeslice before you can
> take a mutex etc...).

Yup.  yield() is a very vague thing.  So vague as to make it a bit
useless really.  Anything which depends on it will show large
changes in behaviour as system load changes.  And indeed as the
yield() implementation changes ;)

  parent reply	other threads:[~2002-12-04  1:07 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-03  0:26 Christoph Hellwig
2002-12-02 17:24 ` Jeff Garzik
2002-12-02 18:57   ` Robert Love
2002-12-03  0:51   ` Christoph Hellwig
2002-12-02 17:50 ` Martin J. Bligh
2002-12-02 18:50   ` Adrian Bunk
2002-12-02 19:12     ` Robert Love
2002-12-02 19:30   ` Andrew Morton
2002-12-02 19:50     ` Andrea Arcangeli
2002-12-03 20:49       ` Andrew Morton
2002-12-03 21:09         ` Martin J. Bligh
2002-12-04  0:09           ` Andrea Arcangeli
2002-12-04  0:06         ` Andrea Arcangeli
2002-12-04  0:30           ` Andrew Morton
2002-12-04  0:42             ` Andrea Arcangeli
2002-12-04  1:03               ` William Lee Irwin III
2002-12-04  9:25                 ` William Lee Irwin III
2002-12-04  1:14               ` Andrew Morton [this message]
2002-12-04  1:21                 ` Andrea Arcangeli
2002-12-04  2:14                   ` Andrew Morton
2002-12-06 18:11                 ` William Lee Irwin III
2002-12-08 13:23     ` Ingo Molnar
2002-12-08 19:56       ` Andrew Morton
2002-12-09 20:13         ` Ingo Molnar
2002-12-03  1:11   ` Christoph Hellwig
2002-12-02 18:59     ` Robert Love
2002-12-02 22:47     ` Alan Cox
2002-12-02 22:38       ` Christoph Hellwig
2002-12-02 22:41         ` Robert Love
2002-12-07 16:55           ` bill davidsen
  -- strict thread matches above, loose matches on Subject: below --
2002-12-13 23:08 Christoph Hellwig
2002-12-13 21:34 ` Adrian Bunk
2002-12-14  4:55   ` Christoph Hellwig
2002-12-09 20:19 kernel
2002-12-09  3:02 Jim Houston
2002-10-01 23:03 Robert Love
2002-10-02 13:01 ` Christoph Hellwig
2002-10-02 15:00   ` Robert Love
2002-11-05  3:37 ` Christoph Hellwig
2002-11-06 15:32   ` Adrian Bunk
2002-11-07 21:42     ` Christoph Hellwig
2002-12-02 17:12   ` Mikael Pettersson
2002-12-03  0:51     ` Christoph Hellwig
2002-12-02 17:47       ` Mikael Pettersson
2002-12-02 19:10         ` Robert Love

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3DED5700.C32DC2B0@digeo.com \
    --to=akpm@digeo.com \
    --cc=andrea@suse.de \
    --cc=hch@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@aracnet.com \
    --cc=rml@tech9.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome