public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrea Arcangeli <andrea@novell.com>
Cc: Jeff Garzik <jgarzik@pobox.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 13:34:20 +1000	[thread overview]
Message-ID: <416367BC.4090302@yahoo.com.au> (raw)
In-Reply-To: <20041006031726.GK26820@dualathlon.random>

Andrea Arcangeli wrote:

> The one argument I've against preempt is that the claim that preempt
> doesn't spread cond_resched all over the place is false. It can spread
> even more of them as implicit ones. They're not visible to the developer
> but they're visible to the cpu. So disabling preempt and putting
> finegriend cond_resched should allow us to optimize the code better, and
> actually _reduce_ the number of cond_resched (cond_resched as the ones
> visible to the cpu, not the ones visible to the kernel developer).
> 

You are right. Sort of :)

But 1, we *want* them to be less visible to the kernel developer,
so this is still a plus.

2, delimiting critical sections with the checks (as preempt does)
rigorously defines scheduling latency as the minimum possible (ie.
critical section latency).

3, all of the overhead is removed if you don't care about latency
and thus turn off preempt.

> I wonder if anybody ever counted the number of implicit cond_resched
> placed by preempt and compared them to the number of explicit
> cond_resched needed without preempt.
> 

There is no denying that there is a performance penalty with preempt
Actually it has to pay double because the bkl means it can't optimise
cond_resched away entirely (would be nice to kill the bkl one day).

But I think that the impact is small enough so that nobody who wants
sub-ms latency will care.

  parent reply	other threads:[~2004-10-06  3:34 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
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 [this message]
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=416367BC.4090302@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