From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Andrea Arcangeli <andrea@novell.com>,
Robert Love <rml@novell.com>, Roland Dreier <roland@topspin.com>,
linux-kernel@vger.kernel.org
Subject: Re: Preempt? (was Re: Cannot enable DMA on SATA drive (SCSI-libsata, VIA SATA))
Date: Wed, 06 Oct 2004 14:22:57 +1000 [thread overview]
Message-ID: <41637321.6090001@yahoo.com.au> (raw)
In-Reply-To: <41636D8B.8020401@pobox.com>
Jeff Garzik wrote:
> Nick Piggin wrote:
>
>> Jeff Garzik wrote:
>>
>>
>> But even without preempt you'd still have to profile the latency.
>
>
> You're making my point for me. If the bandaid (preempt) is not active,
> then the system can be accurated profiled. If preempt is active, then
> it is potentially hiding trouble spots.
No. It can still be accurately profiled. You could profile theoretical
!preempt latency on a running preempt kernel.
*You* are ignoring my point :) *Nothing* has to be fixed if !preempt
users aren't seeing unacceptable latency. By definition, right?
>
> The moral of the story is not to use preempt, as it
> * potentially hides long latency code paths
> * potentially introduces bugs, as we've seen with net stack and many
> other pieces of code
So does CONFIG_SMP. For better or worse, it is in the kernel and
therefore a preempt bug is a bug and not a reason to turn preempt
off.
> * is simply not needed, if all code paths are fixed
>
Jeff, the entire point of preempt is to not have to put cond_resched
everywhere. So yes, you can fix it by putting in lots of cond_rescheds,
or turning on preempt. What's more, with preempt, those that don't care
about 100us latency don't have to be executing cond_resched 10000 times
per second.
I'd actually say that the code needs fixing if the !PREEMPT case is doing
that much work to try to achieve insanely low latencies.
next prev parent reply other threads:[~2004-10-06 4:23 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4136E7EF00073144@mail-3.tiscali.it>
2004-10-06 0:30 ` Cannot enable DMA on SATA drive (SCSI-libsata, VIA SATA) Gianluca Cecchi
2004-10-06 0:54 ` Jeff Garzik
2004-10-06 1:00 ` Preempt? (was Re: Cannot enable DMA on SATA drive (SCSI-libsata, VIA SATA)) Roland Dreier
2004-10-06 1:11 ` Jeff Garzik
2004-10-06 1:28 ` Nick Piggin
2004-10-06 1:32 ` Nick Piggin
2004-10-06 1:40 ` Jeff Garzik
2004-10-06 1:52 ` Robert Love
2004-10-06 1:55 ` Jeff Garzik
2004-10-06 2:02 ` Nick Piggin
2004-10-06 2:07 ` Jeff Garzik
2004-10-06 2:28 ` Nick Piggin
2004-10-06 3:17 ` Andrea Arcangeli
2004-10-06 3:27 ` Jeff Garzik
2004-10-06 3:43 ` Nick Piggin
2004-10-06 3:59 ` Jeff Garzik
2004-10-06 4:05 ` Lee Revell
2004-10-06 4:22 ` Nick Piggin [this message]
2004-10-06 15:16 ` Aleksandar Milivojevic
2004-10-06 4:03 ` Andrea Arcangeli
2004-10-06 4:08 ` Jeff Garzik
2004-10-06 4:16 ` Lee Revell
2004-10-06 4:26 ` Nick Piggin
2004-10-06 4:46 ` Andrew Morton
2004-10-06 6:04 ` Jeff Garzik
2004-10-06 6:16 ` Andrew Morton
2004-10-06 13:38 ` Jeff Sipek
2004-10-06 4:12 ` Lee Revell
2004-10-06 3:34 ` Nick Piggin
2004-10-06 2:07 ` Robert Love
2004-10-06 2:30 ` Nick Piggin
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=41637321.6090001@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=andrea@novell.com \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rml@novell.com \
--cc=roland@topspin.com \
/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