public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <piggin@cyberone.com.au>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Andrew Morton <akpm@osdl.org>,
	mjy@geizhals.at, linux-kernel@vger.kernel.org
Subject: Re: CONFIG_PREEMPT and server workloads
Date: Fri, 19 Mar 2004 13:17:47 +1100	[thread overview]
Message-ID: <405A584B.40601@cyberone.com.au> (raw)
In-Reply-To: <20040318145129.GA2246@dualathlon.random>



Andrea Arcangeli wrote:

>
>BTW, with preempt enabled there is no guarantee that RCU can ever reach
>a quiescient point and secondly there is no guarantee that you will ever
>be allowed to unplug a CPU hotline since again there's no guarantee to
>reach a quiescient point. Think a kernel thread doing for (;;) (i.e.
>math computations in background, to avoid starving RCU the kernel thread
>will have to add schedule() explicitly no matter if PREEMPT=y or
>PREEMPT=n, again invalidating the point of preempt, the rcu tracking for
>PREEMT=y is also more expensive).
>
>

Why is this so? schedule() runs RCU_qsctr(task_cpu(prev))++;
whether it is called directly or via preempt_schedule.


>Note, the work you and the other preempt developers did with preempt was
>great, it wouldn't be possible to be certain that it wasn't worthwhile
>until we had the thing working and finegrined (i.e. in all in_interrupt
>etc..), and now we know it doesn't payoff and in turn I'm going to try
>the explicit-preempt that is to explicitly enable preempt in a few
>cpu-intensive kernel spots where we don't take locks (i.e. copy-user),
>the original suggestion I did 4 years ago, I believe in such places an
>explicit-preempt will work best since we've already to check every few
>bytes the current->need_resched, so adding a branch there should be very
>worthwhile. Doing real preempt like now is overkill instead and should
>be avoided IMHO.
>
>

Technically, I think preempt can still reduce maximum latency
depending on whether the time between explicit resched checks
is greater than the (small) scheduling overhead that preempt
adds.

But yeah, that would be in the noise compared with long
preempt-off regions.

I'm not sure about applications, but maybe some soft-realtime
things like audio software benefit from a lower average latency
(I don't know).


  parent reply	other threads:[~2004-03-19  2:17 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-18  4:00 CONFIG_PREEMPT and server workloads Marinos J. Yannikos
2004-03-18  5:12 ` Andrew Morton
2004-03-18  6:03 ` Andrea Arcangeli
2004-03-18  9:50   ` Andrew Morton
2004-03-18 14:51     ` Andrea Arcangeli
2004-03-18 15:34       ` Robert Love
2004-03-18 16:01         ` Andrea Arcangeli
2004-03-18 17:39       ` Andrew Morton
2004-03-18 17:58         ` Andrea Arcangeli
2004-03-18 18:26           ` Andrew Morton
2004-03-18 18:38             ` Andrea Arcangeli
2004-03-18 18:47               ` Andrew Morton
2004-03-18 19:01                 ` Andrea Arcangeli
2004-03-18 17:48       ` Robert Love
2004-03-18 18:00         ` Andrea Arcangeli
2004-03-20 10:48         ` Jamie Lokier
2004-03-19  2:17       ` Nick Piggin [this message]
     [not found]         ` <20040319050948.GN2045@holomorphy.com>
2004-03-20 12:14           ` Andrea Arcangeli
2004-03-20 14:51             ` William Lee Irwin III
2004-03-20 15:03               ` Andrea Arcangeli
2004-03-20 15:09                 ` William Lee Irwin III
2004-03-24 13:57                 ` Takashi Iwai
2004-03-24 14:52                   ` Andrea Arcangeli
2004-03-24 15:11                   ` William Lee Irwin III
2004-03-18 15:20     ` Tom Sightler
2004-03-18 15:37       ` Andrea Arcangeli
2004-03-18 23:54         ` Tom Sightler
2004-03-18 15:39       ` Robert Love
2004-03-18 15:28   ` Takashi Iwai
2004-03-18 15:40     ` Robert Love
2004-03-18 15:42     ` Andrea Arcangeli
2004-03-18 19:01     ` Andrew Morton
2004-03-18 19:08       ` Takashi Iwai
2004-03-18 19:18         ` Andrew Morton
2004-03-18 19:20           ` Takashi Iwai
2004-03-18 19:43             ` Andrea Arcangeli
2004-03-18 19:50               ` Takashi Iwai
2004-03-18 19:24         ` Robert Love
2004-03-19 22:03           ` Valdis.Kletnieks
2004-03-19 22:12             ` Robert Love
2004-03-24 15:00               ` Takashi Iwai
2004-03-18 19:16       ` Takashi Iwai
2004-03-18 19:29         ` Andrew Morton
2004-03-18 19:48           ` Chris Mason
2004-03-19 11:37             ` Takashi Iwai
2004-03-19 13:46               ` Chris Mason
2004-03-19 14:06                 ` Takashi Iwai
     [not found]         ` <20040318221006.74246648.akpm@osdl.org>
2004-03-19 10:30           ` Takashi Iwai
2004-03-23  9:14             ` Dipankar Sarma
2004-03-19 17:22           ` Dipankar Sarma
2004-03-19 18:03             ` Andrew Morton
2004-03-20 12:24             ` Andrea Arcangeli
2004-03-20 13:13               ` Dipankar Sarma
2004-03-18 19:39       ` Andrea Arcangeli
2004-03-18 22:32     ` Andrew Morton
2004-03-18 22:54       ` Chris Mason
2004-03-18 23:57         ` Andrew Morton
2004-03-19 20:46           ` Takashi Iwai
2004-03-19 21:08             ` Andrew Morton
2004-03-19  3:07     ` Eric St-Laurent
2004-03-19 11:23       ` Takashi Iwai
2004-03-19 13:35         ` Chris Mason

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=405A584B.40601@cyberone.com.au \
    --to=piggin@cyberone.com.au \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjy@geizhals.at \
    /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