]> git.neil.brown.name Git - history.git/commitdiff
Import 2.1.37pre6 2.1.37pre6
authorLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:13:13 +0000 (15:13 -0500)
committerLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:13:13 +0000 (15:13 -0500)
arch/i386/kernel/traps.c
include/asm-i386/spinlock.h
kernel/printk.c
net/core/sysctl_net_core.c

index fbe1696d263c651768913484cbb0081d5f0fe86d..3effac7eb571e79e3a014c19ff2215c11c2d145f 100644 (file)
@@ -122,7 +122,7 @@ static void show_registers(struct pt_regs *regs)
        unsigned long esp;
        unsigned short ss;
        unsigned long *stack, addr, module_start, module_end;
-       extern char start_kernel, _etext;
+       extern char _stext, _etext;
 
        esp = (unsigned long) &regs->esp;
        ss = KERNEL_DS;
@@ -130,8 +130,8 @@ static void show_registers(struct pt_regs *regs)
                esp = regs->esp;
                ss = regs->xss & 0xffff;
        }
-       printk("CPU:    %d\n", smp_processor_id());
-       printk("EIP:    %04x:[<%08lx>]\nEFLAGS: %08lx\n", 0xffff & regs->xcs,regs->eip,regs->eflags);
+       printk("CPU:    %d\nEIP:    %04x:[<%08lx>]\nEFLAGS: %08lx\n",
+               smp_processor_id(), 0xffff & regs->xcs, regs->eip, regs->eflags);
        printk("eax: %08lx   ebx: %08lx   ecx: %08lx   edx: %08lx\n",
                regs->eax, regs->ebx, regs->ecx, regs->edx);
        printk("esi: %08lx   edi: %08lx   ebp: %08lx   esp: %08lx\n",
@@ -165,7 +165,7 @@ static void show_registers(struct pt_regs *regs)
                 * down the cause of the crash will be able to figure
                 * out the call path that was taken.
                 */
-               if (((addr >= (unsigned long) &start_kernel) &&
+               if (((addr >= (unsigned long) &_stext) &&
                     (addr <= (unsigned long) &_etext)) ||
                    ((addr >= module_start) && (addr <= module_end))) {
                        if (i && ((i % 8) == 0))
index 63d70e1f2a0e34942f9a154d9de4f79355f4984e..0ddc6012b3d5a56ea15211138d39947c42ece025 100644 (file)
@@ -149,18 +149,14 @@ typedef struct {
 #define write_lock(rw) \
        asm volatile("\n1:\t" \
                     "lock ; btsl $31,%0\n\t" \
-                    "jc 3f\n\t" \
-                    "testl $0x7fffffff,%0\n\t" \
-                    "jne 4f\n" \
-                    "2:\n" \
+                    "jc 4f\n" \
+                    "2:\ttestl $0x7fffffff,%0\n\t" \
+                    "jne 3f\n" \
                     ".section .text.lock,\"ax\"\n" \
-                    "3:\ttestl $-1,%0\n\t" \
-                    "js 3b\n\t" \
-                    "lock ; btsl $31,%0\n\t" \
-                    "jc 3b\n" \
-                    "4:\ttestl $0x7fffffff,%0\n\t" \
+                    "3:\tlock ; btrl $31,%0\n" \
+                    "4:\tcmp $0,%0\n\t" \
                     "jne 4b\n\t" \
-                    "jmp 2b\n" \
+                    "jmp 1b\n" \
                     ".previous" \
                     :"=m" (__dummy_lock(&(rw)->lock)))
 
index 3d409f2d55270b58b3ea704ff8750d32e6383d40..51528e5a732415bca5f12ca541d5f993f6216700 100644 (file)
@@ -231,7 +231,9 @@ asmlinkage int printk(const char *fmt, ...)
                        msg_level = -1;
        }
        __restore_flags(flags);
+#if 0  /* debugging - avoid this if we're deadlocked */
        wake_up_interruptible(&log_wait);
+#endif
        return i;
 }
 
index 3a8bea47052a08563370590b3d20cd3fc5b70121..fd770becd27327f39f74cf369999d600e0d3bd66 100644 (file)
@@ -16,14 +16,15 @@ extern __u32 sysctl_rmem_default;
 ctl_table core_table[] = {
        {NET_CORE_WMEM_MAX, "wmem_max",
         &sysctl_wmem_max, sizeof(int), 0644, NULL,
-         &proc_dointvec},
+        &proc_dointvec},
        {NET_CORE_RMEM_MAX, "rmem_max",
         &sysctl_rmem_max, sizeof(int), 0644, NULL,
-         &proc_dointvec},
+        &proc_dointvec},
        {NET_CORE_WMEM_DEFAULT, "wmem_default",
         &sysctl_wmem_default, sizeof(int), 0644, NULL,
-         &proc_dointvec},
+        &proc_dointvec},
        {NET_CORE_RMEM_DEFAULT, "rmem_default",
         &sysctl_rmem_default, sizeof(int), 0644, NULL,
-         &proc_dointvec},
+        &proc_dointvec},
+       { 0 }
 };