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
prev parent 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