lkml.org 
[lkml]   [2005]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] enable PREEMPT_BKL on !PREEMPT+SMP too

the only sane way to clean up the current 3 lock_kernel() variants seems
to be to remove the spinlock-based BKL implementations altogether, and
to keep the semaphore-based one only. If we dont want to do that for
whatever reason then i'm afraid we have to live with the current
complexity. (but i'm open for other cleanup suggestions as well.)

to explore this possibility we'll (at a minimum) have to know whether
the semaphore-based BKL works fine on plain SMP too. The patch below
enables this.

the patch may make sense in isolation as well, as it might bring
performance benefits: code that would formerly spin on the BKL spinlock
will now schedule away and give up the CPU. It might introduce
performance regressions as well, if any performance-critical code uses
the BKL heavily and gets overscheduled due to the semaphore. I very much
hope there is no such performance-critical codepath left though.

patch depends on:

consolidate-preempt-options-into-kernel-kconfigpreempt.patch

tested on x86-SMP. All other PREEMPT_BKL-using arches (x64, ppc64)
should work fine too.

Signed-off-by: Ingo Molnar <mingo@elte.hu>

--- linux/kernel/Kconfig.preempt.orig
+++ linux/kernel/Kconfig.preempt
@@ -13,7 +13,7 @@ config PREEMPT

config PREEMPT_BKL
bool "Preempt The Big Kernel Lock"
- depends on PREEMPT
+ depends on SMP || PREEMPT
default y
help
This option reduces the latency of the kernel by making the
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-05-26 13:21    [W:0.106 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site