public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Bill Davidsen <davidsen@tmr.com>
Cc: Lee Revell <rlrevell@joe-job.com>,
	Linux Kernel mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Preempt of BKL and with tickless systems
Date: Mon, 21 May 2007 09:36:02 +0200	[thread overview]
Message-ID: <20070521073602.GC3915@elte.hu> (raw)
In-Reply-To: <46438C54.20101@tmr.com>


* Bill Davidsen <davidsen@tmr.com> wrote:

> > This was introduced by Ingo to solve a real problem that I found, 
> > where some codepath would hold the BKL for long enough to introduce 
> > excessive scheduling latencies - search list archive for details.  
> > But I don't remember the code path (scrolling the FB console?  VT 
> > switching? reiser3?  misc. ioctl()s?).  Basically, taking the BKL 
> > disabled preemption which caused long latencies.
> >
> > It's certainly possible that whatever issue led to this was solved 
> > in another way since.
>
> Anything is possible. I feel that using voluntary + bkl is probably 
> good for most servers, forced preempt for desktop, although it really 
> doesn't seem to do much beyond voluntary.

yeah - we default to PREEMPT_BKL on plain SMP kernels, so it's enabled 
on the majority of enterprise distros and it's working pretty well in 
practice.

even today there are a couple of bad BKL latencies still: Lee mentioned 
ioctls and reiser3 - neither has been fixed since i wrote 
CONFIG_PREEMPT_BKL two years ago. Turning the BKL into a semaphore does 
not reduce BKL latencies itself, but it makes all _other_ workloads 
schedule sanely and without delay. With PREEMPT_BKL disabled (which 
turns on the big kernel spinlock again) any big BKL delay is immediately 
felt by other tasks too, because we waste that CPU time spinning on the 
big kernel spinlock.

	Ingo

      reply	other threads:[~2007-05-21  7:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-08 21:06 Preempt of BKL and with tickless systems Bill Davidsen
2007-05-09  0:01 ` Lee Revell
2007-05-10 21:19   ` Bill Davidsen
2007-05-21  7:36     ` Ingo Molnar [this message]

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=20070521073602.GC3915@elte.hu \
    --to=mingo@elte.hu \
    --cc=davidsen@tmr.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rlrevell@joe-job.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