mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Bart Van Assche <bart.vanassche@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux 2.6.26-rc2
Date: Mon, 12 May 2008 12:55:56 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.1.10.0805121247080.3019@woody.linux-foundation.org> (raw)
In-Reply-To: <e2e108260805121232t4cbd8eb0k219fd6a7d06c7650@mail.gmail.com>



On Mon, 12 May 2008, Bart Van Assche wrote:
> 
> Sorry if it's my fault that I do not understand the above message
> completely. But from the above it's not completely clear to me which
> kernel versions (2.6.2?.? releases) are affected and which are not
> affected by the performance and correctness issues due to the
> interaction between the semaphore implementation and the preemptable
> BKL.

No released kernels are affected. It's purely a matter that has happened 
after 2.6.25. The semaphore simplifcation in -rc1 caused a huge 
performance regression on some benchmarks, and the fix to that in turn 
caused a semaphore correctness issue, so I just rolled back to the 
original BKL code that doesn't have any of those interactions.

In a historical context, the issues involved would only have happened with 
CONFIG_PREEMPT_BKL. That config option was made the only one in January, 
and as a result of these issues, we effectively switched it off.

So you can *think* of the effect of the changes as having gone from 
CONFIG_PREEMPT_BKL=y to CONFIG_PREEMPT_BKL=n, even though technically we 
had removed the actual config option to let people choose (so the config 
option has basically become a static code change).

We may end up having to re-instate the config option due to this. 
Personally, I hope not. It would be nicer if we could just avoid 
PREEMPT_BKL entirely. 

(To make things somewhat more confusing, some non-PREEMPT_BKL code has 
then bitrotted since, so if can actually see latency issues, you might 
want to try the patch here at the end of this email to see if it fixes 
the worst of them. "cond_resched()" has regressed since the PREEMPT_BKL 
config option went away).

			Linus
---
 include/linux/sched.h |    7 -------
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 5a63f2d..75c284f 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2038,17 +2038,10 @@ static inline int need_resched(void)
  * cond_resched_softirq() will enable bhs before scheduling.
  */
 extern int _cond_resched(void);
-#ifdef CONFIG_PREEMPT
-static inline int cond_resched(void)
-{
-	return 0;
-}
-#else
 static inline int cond_resched(void)
 {
 	return _cond_resched();
 }
-#endif
 extern int cond_resched_lock(spinlock_t * lock);
 extern int cond_resched_softirq(void);
 static inline int cond_resched_bkl(void)

  reply	other threads:[~2008-05-12 19:56 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-12 14:55 Linus Torvalds
2008-05-12 19:32 ` Bart Van Assche
2008-05-12 19:55   ` Linus Torvalds [this message]
2008-05-12 23:22     ` Kasper Sandberg
2008-05-13  1:49 ` Oops on -rc2-git1, possibly md_raid1 or xfs related. (Was: Re: Linux 2.6.26-rc2) Kasper Sandberg
2008-05-13  1:55   ` Kasper Sandberg
2008-05-13  2:19   ` Neil Brown
     [not found] ` <200805121726.15576.alistair@devzero.co.uk>
     [not found]   ` <alpine.LFD.1.10.0805120933310.3019@woody.linux-foundation.org>
     [not found]     ` <20080512164920.GE16217@kernel.dk>
2008-05-13  1:05       ` [PATCH] Remove blkdev warning triggered by using md Neil Brown
2008-05-17 18:22       ` XFS/md/blkdev warning (was Re: Linux 2.6.26-rc2) Alistair John Strachan
2008-05-17 18:37         ` Linus Torvalds
2008-05-17 18:41           ` Linus Torvalds
2008-05-17 20:09           ` Alistair John Strachan
2008-05-17 21:17             ` Linus Torvalds
2008-05-17 23:12               ` Alistair John Strachan
2008-05-17 23:39               ` Christoph Hellwig
2008-05-18 14:12                 ` Alistair John Strachan

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=alpine.LFD.1.10.0805121247080.3019@woody.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=bart.vanassche@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /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

all inboxes | Powered by JetHome®