From: Andrea Arcangeli <andrea@suse.de>
To: Christoph Hellwig <hch@infradead.org>,
Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org,
Arjan van de Ven <arjanv@redhat.com>
Subject: Re: [announce] [patch] Voluntary Kernel Preemption Patch
Date: Sat, 10 Jul 2004 01:50:17 +0200 [thread overview]
Message-ID: <20040709235017.GP20947@dualathlon.random> (raw)
In-Reply-To: <20040709195105.GA4807@infradead.org>
On Fri, Jul 09, 2004 at 08:51:05PM +0100, Christoph Hellwig wrote:
> > unlike the lowlatency patches, this patch doesn't add a lot of new
> > scheduling points to the source code, it rather reuses a rich but
> > currently inactive set of scheduling points that already exist in the
> > 2.6 tree: the might_sleep() debugging checks. Any code point that does
> > might_sleep() is in fact ready to sleep at that point. So the patch
> > activates these debugging checks to be scheduling points. This reduces
> > complexity and impact quite significantly.
>
> I don't think this is a good idea. Just because a function might sleep
> it doesn't mean it should sleep. I'd rather add the might_sleep() to
> cond_resched() and replace the former with the latter in the cases where
> it makes sense.
agreed. might_sleep() just like BUG() can be defined to noop.
cond_resched() is the API to use.
the other bad thing is that there is no point for the sysctl (in 2.4
that made no sense at all too, yeah it only makes sense for benchmarking
easily w/ and w/o the feature but it must be optimized away at the very
least with a config option for production), if need_resched is set we
_must_ schedule no matter what (a sysctl can only introduce a bug if
something). If we spend any cpu checking the sysctl, we should instead
spend such cpu to check need_resched in the first place.
The rest is of course very welcome, but you should remove all the
pollution from the patch to make it mergeable.
Just convert all those might to cond_resched() and remove all the
superflous volountary stuff and config options.
As worse you can leave a single config option LOW_RESCHEDULE_OVERHEAD
with PREEMPT=n, that could remove some cond_resched() from an extremely
fast path if you're concerned about adding branches in some critical
point, but you really seem not concerned since with
CONFIG_PREEMPT_VOLUNTARY=y (the only way to enable it) you even _waste_
cpu on these paths to check a worthless sysctl that can only introduce
bugs at runtime since it overrides the wishes of the scheduler.
If scheduler is bad fix the scheduler, but as soon as need_resched is
set no sysctl must be allowed to mask the wishes of the scheduler.
next prev parent reply other threads:[~2004-07-09 23:50 UTC|newest]
Thread overview: 270+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-09 18:26 [announce] [patch] Voluntary Kernel Preemption Patch Ingo Molnar
2004-07-09 19:51 ` Christoph Hellwig
2004-07-09 23:50 ` Andrea Arcangeli [this message]
2004-07-10 0:52 ` Andrea Arcangeli
2004-07-10 1:02 ` Dave Jones
2004-07-12 10:17 ` Takashi Iwai
2004-07-12 19:36 ` Andrea Arcangeli
2004-07-13 7:43 ` Takashi Iwai
2004-07-10 6:32 ` Arjan van de Ven
2004-07-10 7:57 ` Ingo Molnar
2004-07-10 8:10 ` ismail dönmez
2004-07-10 8:28 ` Ingo Molnar
2004-07-19 10:36 ` [patch] voluntary-preempt 2.6.8-rc2-H4 Ingo Molnar
2004-07-20 1:38 ` Ramón Rey Vicente
2004-07-20 6:02 ` Ingo Molnar
2004-07-10 15:36 ` [announce] [patch] Voluntary Kernel Preemption Patch Andrea Arcangeli
2004-07-10 12:48 ` Ingo Molnar
2004-07-10 15:12 ` Con Kolivas
2004-07-10 15:14 ` Arjan van de Ven
2004-07-10 15:18 ` Con Kolivas
2004-07-11 7:07 ` Zwane Mwaikambo
2004-07-11 7:09 ` Con Kolivas
2004-07-11 7:16 ` [announce] [patch] " Zwane Mwaikambo
2004-07-11 9:18 ` Ingo Molnar
2004-07-11 9:29 ` Con Kolivas
2004-07-10 16:18 ` [announce] [patch] " Con Kolivas
2004-07-11 6:47 ` [ck] " Ingo Molnar
2004-07-11 6:59 ` Con Kolivas
2004-07-11 11:18 ` R. J. Wysocki
2004-07-11 7:09 ` [ck] Re: [announce] [patch] " Zwane Mwaikambo
2004-07-11 14:27 ` Con Kolivas
2004-07-11 14:29 ` Con Kolivas
2004-07-11 14:38 ` Ingo Molnar
2004-07-11 17:29 ` André Goddard Rosa
2004-07-11 17:49 ` Grzegorz Kulewski
2004-07-11 21:20 ` Con Kolivas
2004-07-11 21:25 ` Grzegorz Kulewski
2004-07-11 20:17 ` Ingo Molnar
2004-07-12 8:23 ` Voluntary Preemption + concurent games Aivils
2004-07-12 9:51 ` Con Kolivas
2004-07-12 10:45 ` Lenar Lõhmus
2004-07-12 11:52 ` Aivils
2004-07-12 13:35 ` Nick Piggin
2004-07-12 14:15 ` [ck] Re: [announce] [patch] Voluntary Kernel Preemption Patch Chris Friesen
2004-07-12 14:19 ` Ingo Molnar
2004-07-10 15:58 ` Andrea Arcangeli
2004-07-09 21:13 ` Redeeman
2004-07-10 8:02 ` Ingo Molnar
2004-07-10 8:50 ` Ingo Molnar
2004-07-10 10:55 ` ismail dönmez
2004-07-10 11:26 ` Arjan van de Ven
2004-07-10 12:01 ` ismail dönmez
2004-07-10 12:05 ` Arjan van de Ven
2004-07-10 12:09 ` Nick Piggin
2004-07-10 12:35 ` Ingo Molnar
2004-07-10 12:58 ` ismail dönmez
2004-07-10 13:55 ` Ingo Molnar
2004-07-10 14:45 ` Nick Piggin
2004-07-10 14:57 ` ismail dönmez
2004-07-12 10:48 ` Takashi Iwai
2004-07-12 13:09 ` ismail dönmez
2004-07-12 13:14 ` Takashi Iwai
2004-07-09 21:36 ` Torrey Hoffman
2004-07-10 8:23 ` Ingo Molnar
2004-07-10 1:00 ` Con Kolivas
2004-07-10 1:04 ` Dave Jones
2004-07-10 12:55 ` Ingo Molnar
2004-07-11 5:25 ` Andrew Morton
2004-07-11 9:32 ` Ingo Molnar
2004-07-11 9:45 ` Andrew Morton
2004-07-11 9:50 ` Ingo Molnar
2004-07-11 9:58 ` Andrew Morton
2004-07-11 10:30 ` Ingo Molnar
2004-07-11 10:42 ` Andrew Morton
2004-07-11 10:59 ` Arjan van de Ven
2004-07-11 11:13 ` Andrew Morton
2004-07-11 18:07 ` Mikulas Patocka
2004-07-12 7:08 ` Zwane Mwaikambo
2004-07-19 10:20 ` Ingo Molnar
2004-07-11 23:12 ` Robert Love
2004-07-12 22:40 ` Bill Davidsen
2004-07-12 13:24 ` John Stoffel
2004-07-12 22:56 ` [linux-audio-dev] " Lee Revell
2004-07-12 23:31 ` Andrew Morton
2004-07-12 23:58 ` Paul Davis
2004-07-13 0:06 ` Andrew Morton
2004-07-13 0:21 ` Con Kolivas
2004-07-13 1:01 ` [linux-audio-dev] Re: [announce] [patch] " Lee Revell
2004-07-13 7:49 ` Takashi Iwai
2004-07-13 8:12 ` Lee Revell
2004-07-13 0:01 ` Paul Davis
2004-07-13 0:08 ` Andrew Morton
2004-07-13 16:25 ` Andrea Arcangeli
2004-07-13 18:42 ` Lee Revell
2004-07-13 21:29 ` Andrew Morton
2004-07-13 21:45 ` Lee Revell
2004-07-14 8:51 ` Takashi Iwai
2004-07-14 9:36 ` Lee Revell
2004-07-14 10:48 ` Takashi Iwai
2004-07-14 14:52 ` Lee Revell
2004-07-14 16:29 ` Lee Revell
2004-07-14 10:26 ` Benno Senoner
2004-07-13 18:48 ` Andrew Morton
2004-07-13 21:38 ` Andrea Arcangeli
2004-07-13 21:54 ` Andrew Morton
2004-07-13 22:01 ` Andrea Arcangeli
2004-07-13 22:25 ` Andrew Morton
2004-07-13 22:37 ` Andrea Arcangeli
2004-07-13 22:44 ` Andrew Morton
2004-07-13 22:53 ` Andrea Arcangeli
2004-07-13 23:06 ` Andrew Morton
2004-07-13 23:18 ` Andrea Arcangeli
2004-07-13 23:32 ` Andrew Morton
2004-07-14 0:40 ` Andrea Arcangeli
2004-07-14 0:45 ` Andrew Morton
2004-07-19 11:59 ` Ingo Molnar
2004-09-02 22:03 ` Andrea Arcangeli
2004-09-02 22:20 ` Andrew Morton
2004-09-02 23:03 ` Ingo Molnar
2004-09-02 23:21 ` Ingo Molnar
2004-07-13 7:58 ` Takashi Iwai
2004-07-13 0:17 ` Lee Revell
2004-07-13 0:46 ` Andrew Morton
2004-07-13 2:52 ` Lee Revell
2004-07-13 3:59 ` Andrew Morton
2004-07-13 7:57 ` Lee Revell
2004-07-19 10:48 ` Ingo Molnar
2004-07-19 11:34 ` Ingo Molnar
2004-07-20 5:38 ` Lee Revell
2004-07-20 6:12 ` Ingo Molnar
2004-07-20 6:59 ` Lee Revell
2004-07-20 7:11 ` Ingo Molnar
[not found] ` <200407202011.20558.musical_snake@gmx.de>
2004-07-20 19:56 ` Lee Revell
2004-07-20 23:49 ` Benno Senoner
2004-07-21 0:32 ` [linux-audio-dev] " Lee Revell
2004-07-21 1:25 ` Timothy Miller
2004-07-21 21:38 ` Another dumb question about " Timothy Miller
2004-07-24 0:25 ` Lee Revell
2004-07-25 20:19 ` Timothy Miller
2004-07-25 20:13 ` Lee Revell
2004-07-21 10:53 ` [linux-audio-dev] Re: [announce] [patch] " Florian Schmidt
2004-07-21 11:18 ` Thomas Charbonnel
2004-07-21 12:04 ` pci gfx card / jack xruns / pci latencies (was: Re: [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch) Florian Schmidt
2004-07-21 17:49 ` [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch Fernando Pablo Lopez-Lezcano
2004-07-22 22:25 ` Andrew McGregor
2004-07-22 23:16 ` Florian Schmidt
2004-07-21 14:27 ` Benno Senoner
2004-07-20 12:19 ` Jens Axboe
2004-07-20 21:32 ` Lee Revell
2004-07-24 4:07 ` Lee Revell
2004-07-24 5:46 ` Lee Revell
2004-07-24 6:33 ` Lee Revell
2004-07-24 6:43 ` Ingo Molnar
2004-07-24 22:49 ` Lee Revell
2004-07-24 23:30 ` Lee Revell
2004-07-24 11:27 ` max request size 1024KiB by default? Rudo Thomas
2004-07-24 22:58 ` Lee Revell
2004-07-26 19:29 ` Johannes Stezenbach
2004-07-27 5:15 ` Jens Axboe
2004-07-24 12:41 ` [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch Mark Lord
2004-07-24 4:58 ` Lee Revell
2004-07-13 8:31 ` Lee Revell
2004-07-13 8:43 ` Andrew Morton
2004-07-13 8:53 ` Lee Revell
2004-07-13 9:00 ` Andrew Morton
2004-07-13 9:21 ` Takashi Iwai
2004-07-13 9:25 ` Andrew Morton
2004-07-13 9:33 ` Takashi Iwai
2004-07-13 9:44 ` Andrew Morton
2004-07-13 9:23 ` Lee Revell
2004-07-13 9:29 ` Andrew Morton
2004-07-13 20:37 ` Lee Revell
2004-07-13 22:32 ` Lee Revell
2004-07-13 8:07 ` Takashi Iwai
2004-07-13 22:40 ` Bill Davidsen
2004-07-13 23:47 ` Randy.Dunlap
2004-07-19 10:29 ` Ingo Molnar
2004-07-21 3:27 ` Lee Revell
2004-07-21 7:03 ` Andrew Morton
2004-07-21 4:58 ` Lee Revell
2004-07-21 5:30 ` Ingo Molnar
2004-07-21 6:03 ` Lee Revell
2004-07-21 8:22 ` Ingo Molnar
2004-07-21 8:52 ` Ingo Molnar
2004-07-21 11:32 ` Nick Piggin
2004-07-21 15:44 ` Ingo Molnar
2004-07-22 4:56 ` Nick Piggin
2004-07-22 7:07 ` Ingo Molnar
2004-07-22 10:54 ` Nick Piggin
2004-07-22 16:23 ` Ingo Molnar
2004-07-22 22:11 ` Nick Piggin
2004-07-23 5:47 ` Ingo Molnar
2004-07-23 6:45 ` Nick Piggin
2004-07-23 6:55 ` Ingo Molnar
2004-07-23 7:11 ` Nick Piggin
2004-07-23 7:21 ` Ingo Molnar
2004-07-23 7:28 ` Nick Piggin
2004-07-21 18:34 ` Scott Wood
2004-07-21 18:46 ` Ingo Molnar
2004-07-21 19:56 ` Scott Wood
2004-07-21 21:08 ` Ingo Molnar
2004-07-22 2:47 ` Scott Wood
2004-07-21 21:45 ` Ingo Molnar
2004-07-22 2:28 ` Scott Wood
2004-07-22 7:40 ` Ingo Molnar
2004-07-22 18:53 ` Scott Wood
2004-07-22 19:45 ` Bill Huey
2004-07-28 6:45 ` Ingo Molnar
2004-07-28 20:52 ` Scott Wood
2004-07-29 18:21 ` Ingo Molnar
2004-07-29 18:36 ` Bill Huey
2004-07-29 19:17 ` Scott Wood
2004-07-29 19:25 ` Bill Huey
2004-07-30 2:23 ` Eric St-Laurent
2004-07-29 20:26 ` Pavel Machek
2004-07-29 20:57 ` Scott Wood
2004-07-29 21:00 ` Pavel Machek
2004-07-29 21:07 ` Ingo Molnar
2004-07-21 22:52 ` Nick Piggin
2004-07-21 18:32 ` Scott Wood
2004-07-21 20:40 ` Ingo Molnar
2004-07-21 18:30 ` Scott Wood
2004-07-21 18:43 ` Ingo Molnar
2004-07-22 2:32 ` Scott Wood
2004-07-22 9:51 ` Ingo Molnar
2004-07-22 18:36 ` Scott Wood
2004-07-22 19:11 ` Robert Love
2004-07-21 21:00 ` Scott Wood
2004-07-21 21:18 ` Ingo Molnar
2004-07-21 22:14 ` Bill Huey
2004-07-21 22:31 ` Bill Huey
2004-07-21 22:37 ` Scott Wood
2004-07-22 10:06 ` [patch] voluntary-preempt-2.6.8-rc2-H9 Ingo Molnar
2004-07-22 16:00 ` scheduling while atomic (Re: voluntary-preempt-2.6.8-rc2-H9) Rudo Thomas
2004-07-22 16:19 ` Ingo Molnar
2004-07-22 17:24 ` voluntary-preempt I0: sluggish feel Rudo Thomas
2004-07-22 17:52 ` Matt Heler
2004-07-22 17:54 ` Rudo Thomas
2004-07-22 18:01 ` Ingo Molnar
2004-07-22 18:08 ` Ingo Molnar
2004-07-22 18:14 ` Ingo Molnar
2004-07-22 18:37 ` Rudo Thomas
2004-07-23 10:42 ` [patch] voluntary-preempt-2.6.8-rc2-I3 Ingo Molnar
2004-07-23 10:58 ` Paolo Ciarrocchi
2004-07-23 11:04 ` Ingo Molnar
2004-07-23 11:28 ` [patch] voluntary-preempt-2.6.8-rc2-I4 Ingo Molnar
2004-07-24 0:16 ` Lee Revell
2004-07-23 11:42 ` [patch] voluntary-preempt-2.6.8-rc2-I3 Paolo Ciarrocchi
2004-07-23 12:00 ` Ingo Molnar
2004-07-23 15:36 ` Dang, Linh [CAR:2X23:EXCH]
2004-07-23 23:48 ` Thomas Charbonnel
2004-07-26 11:10 ` Ingo Molnar
2004-07-26 12:27 ` Thomas Charbonnel
2004-07-22 18:31 ` voluntary-preempt I0: sluggish feel Robert Love
2004-07-22 18:32 ` Rudo Thomas
2004-07-22 18:38 ` Ingo Molnar
2004-07-22 18:00 ` Ingo Molnar
2004-07-21 6:07 ` [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch Lee Revell
2004-07-21 10:14 ` Roger Luethi
2004-07-13 0:58 ` Jan Depner
2004-07-13 1:00 ` Andrew Morton
2004-07-13 3:31 ` Florin Andrei
2004-07-13 6:31 ` Paul Winkler
2004-07-13 13:26 ` Benno Senoner
2004-07-13 14:50 ` Paul Davis
2004-07-13 19:45 ` Lee Revell
2004-07-13 22:17 ` Bill Davidsen
2004-07-16 4:50 ` Florin Andrei
2004-07-16 12:49 ` Takashi Iwai
2004-07-13 21:53 ` Timothy Miller
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=20040709235017.GP20947@dualathlon.random \
--to=andrea@suse.de \
--cc=arjanv@redhat.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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