rpms/kernel/devel kernel-2.6.spec, 1.2727, 1.2728 linux-2.6-optimise-spinlock-debug.patch, 1.3, 1.4
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Tue Oct 3 17:54:19 UTC 2006
- Previous message (by thread): rpms/lam/devel lam.spec,1.38,1.39
- Next message (by thread): rpms/kernel/devel linux-2.6-nfs-dio-error.patch, NONE, 1.1 linux-2.6-nfs-fix_client_shutdown.patch, NONE, 1.1 kernel-2.6.spec, 1.2728, 1.2729 linux-2.6.17-nfs-fix_client_shutdown.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: davej
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv30468
Modified Files:
kernel-2.6.spec linux-2.6-optimise-spinlock-debug.patch
Log Message:
Optimise spinlock debug some more.
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2727
retrieving revision 1.2728
diff -u -r1.2727 -r1.2728
--- kernel-2.6.spec 3 Oct 2006 17:32:53 -0000 1.2727
+++ kernel-2.6.spec 3 Oct 2006 17:54:17 -0000 1.2728
@@ -1976,6 +1976,7 @@
%changelog
* Tue Oct 3 2006 Dave Jones <davej at redhat.com>
- Numerous stack unwinder fixes.
+- Optimise spinlock debug some more.
* Tue Oct 3 2006 David Woodhouse <dwmw2 at redhat.com>
- Fix PCMCIA serial port suspend/resume
linux-2.6-optimise-spinlock-debug.patch:
b/lib/spinlock_debug.c | 15 +++++++++------
linux-2.6.16/lib/spinlock_debug.c | 3 ---
2 files changed, 9 insertions(+), 9 deletions(-)
Index: linux-2.6-optimise-spinlock-debug.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-optimise-spinlock-debug.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- linux-2.6-optimise-spinlock-debug.patch 11 Jun 2006 23:37:27 -0000 1.3
+++ linux-2.6-optimise-spinlock-debug.patch 3 Oct 2006 17:54:17 -0000 1.4
@@ -26,3 +26,75 @@
/* lockup suspected: */
if (print_once) {
+
+commit c22f008ba226e2ff25ee1a56abd9c5fd355828fc
+tree ffa01da1cf0dec73de897889a1aa5f354f521df1
+parent 92a0f861fe1790dad55ea249169d94f2dc88d696
+author Chuck Ebbert <76306.1226 at compuserve.com> 1159520354 -0700
+committer Linus Torvalds <torvalds at g5.osdl.org> 1159546686 -0700
+
+[PATCH] spinlock_debug: don't recompute (jiffies_per_loop * HZ) in spinloop
+
+In spinlock_debug.c, the spinloops call __delay() on every iteration.
+Because that is an external function, (jiffies_per_loop * HZ), the loop's
+iteration limit, gets recomputed every time. Caching it explicitly
+prevents that.
+
+Signed-off-by: Chuck Ebbert <76306.1226 at compuserve.com>
+Cc: Ingo Molnar <mingo at elte.hu>
+Signed-off-by: Andrew Morton <akpm at osdl.org>
+Signed-off-by: Linus Torvalds <torvalds at osdl.org>
+
+ lib/spinlock_debug.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/lib/spinlock_debug.c b/lib/spinlock_debug.c
+index 58c577d..dafaf1d 100644
+--- a/lib/spinlock_debug.c
++++ b/lib/spinlock_debug.c
+@@ -99,11 +99,12 @@ static inline void debug_spin_unlock(spi
+
+ static void __spin_lock_debug(spinlock_t *lock)
+ {
+- int print_once = 1;
+ u64 i;
++ u64 loops = loops_per_jiffy * HZ;
++ int print_once = 1;
+
+ for (;;) {
+- for (i = 0; i < loops_per_jiffy * HZ; i++) {
++ for (i = 0; i < loops; i++) {
+ if (__raw_spin_trylock(&lock->raw_lock))
+ return;
+ __delay(1);
+@@ -165,11 +166,12 @@ #define RWLOCK_BUG_ON(cond, lock, msg) i
+ #if 0 /* __write_lock_debug() can lock up - maybe this can too? */
+ static void __read_lock_debug(rwlock_t *lock)
+ {
+- int print_once = 1;
+ u64 i;
++ u64 loops = loops_per_jiffy * HZ;
++ int print_once = 1;
+
+ for (;;) {
+- for (i = 0; i < loops_per_jiffy * HZ; i++) {
++ for (i = 0; i < loops; i++) {
+ if (__raw_read_trylock(&lock->raw_lock))
+ return;
+ __delay(1);
+@@ -239,11 +241,12 @@ static inline void debug_write_unlock(rw
+ #if 0 /* This can cause lockups */
+ static void __write_lock_debug(rwlock_t *lock)
+ {
+- int print_once = 1;
+ u64 i;
++ u64 loops = loops_per_jiffy * HZ;
++ int print_once = 1;
+
+ for (;;) {
+- for (i = 0; i < loops_per_jiffy * HZ; i++) {
++ for (i = 0; i < loops; i++) {
+ if (__raw_write_trylock(&lock->raw_lock))
+ return;
+ __delay(1);
+
- Previous message (by thread): rpms/lam/devel lam.spec,1.38,1.39
- Next message (by thread): rpms/kernel/devel linux-2.6-nfs-dio-error.patch, NONE, 1.1 linux-2.6-nfs-fix_client_shutdown.patch, NONE, 1.1 kernel-2.6.spec, 1.2728, 1.2729 linux-2.6.17-nfs-fix_client_shutdown.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list