[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Automatic reboot in kernel 2.6.7-1.467



On Thu, Jul 08, 2004 at 02:32:40AM +1000, Omar Kilani wrote:

 > >This should be fixed properly in the next kernel that Arjan pushes
 > >out. Binary search on patches since the last working kernel and first
 > >broken one took a while, but it turned out to be something (sort of)
 > >trivial.
 > 
 > Just out of interest, what was this sort of trivial something? :)

The patch attached at the bottom of this mail went into 2.6.7bk11.

 > Oh, and has the fix for said something been upstreamed?

It's an incompatability with the 4g/4g patch, and hence doesn't need
to go upstream. It seems to be a valid change, so the quick fix for
now is to just drop it as part of the 4g/4g patch.

		Dave


# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/06/27 10:53:48-07:00 stsp aknet ru 
#   [PATCH] larger IO bitmaps
#   
#   The previous discussion was started here:
#   http://www.uwsg.iu.edu/hypermail/linux/kernel/0211.0/0477.html but in 2.4
#   times this was kind of problematic.
#   
#   Now, with the lazy bitmap allocation and per-CPU TSS, this will really not
#   drain any resources I think.  8K TSS increase and 8K per process *that does
#   ioperm()* - I think it is not very bad.
#   
#   The reasons why I need that, are described in the URL above.  Basically this
#   will allow to use full-screen VESA under dosemu (without LFB though), and this
#   may be also helpfull for the XFree project and some other projects:
#   
#   http://www.uwsg.iu.edu/hypermail/linux/kernel/9807.1/1079.html
#   
#   Signed-off-by: Andrew Morton <akpm osdl org>
#   Signed-off-by: Linus Torvalds <torvalds osdl org>
# 
# include/asm-x86_64/processor.h
#   2004/06/27 00:19:26-07:00 stsp aknet ru +2 -2
#   larger IO bitmaps
# 
# include/asm-mips/processor.h
#   2004/06/27 00:19:26-07:00 stsp aknet ru +2 -2
#   larger IO bitmaps
# 
# include/asm-i386/processor.h
#   2004/06/27 00:19:26-07:00 stsp aknet ru +3 -3
#   larger IO bitmaps
# 
# include/asm-i386/desc.h
#   2004/06/27 00:19:26-07:00 stsp aknet ru +2 -1
#   larger IO bitmaps
# 
diff -Nru a/include/asm-i386/desc.h b/include/asm-i386/desc.h
--- a/include/asm-i386/desc.h	2004-07-06 21:54:34 +01:00
+++ b/include/asm-i386/desc.h	2004-07-06 21:54:34 +01:00
@@ -44,7 +44,8 @@
 
 static inline void __set_tss_desc(unsigned int cpu, unsigned int entry, void *addr)
 {
-	_set_tssldt_desc(&cpu_gdt_table[cpu][entry], (int)addr, 235, 0x89);
+	_set_tssldt_desc(&cpu_gdt_table[cpu][entry], (int)addr,
+		offsetof(struct tss_struct, __cacheline_filler) - 1, 0x89);
 }
 
 #define set_tss_desc(cpu,addr) __set_tss_desc(cpu, GDT_ENTRY_TSS, addr)
diff -Nru a/include/asm-i386/processor.h b/include/asm-i386/processor.h
--- a/include/asm-i386/processor.h	2004-07-06 21:54:34 +01:00
+++ b/include/asm-i386/processor.h	2004-07-06 21:54:34 +01:00
@@ -297,9 +297,9 @@
 #define TASK_UNMAPPED_BASE	(PAGE_ALIGN(TASK_SIZE / 3))
 
 /*
- * Size of io_bitmap, covering ports 0 to 0x3ff.
+ * Size of io_bitmap.
  */
-#define IO_BITMAP_BITS  1024
+#define IO_BITMAP_BITS  65536
 #define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
 #define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
 #define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
@@ -391,7 +391,7 @@
 	/*
 	 * pads the TSS to be cacheline-aligned (size is 0x100)
 	 */
-	unsigned long __cacheline_filler[5];
+	unsigned long __cacheline_filler[37];
 	/*
 	 * .. and then another 0x100 bytes for emergency kernel stack
 	 */
diff -Nru a/include/asm-mips/processor.h b/include/asm-mips/processor.h
--- a/include/asm-mips/processor.h	2004-07-06 21:54:34 +01:00
+++ b/include/asm-mips/processor.h	2004-07-06 21:54:34 +01:00
@@ -137,9 +137,9 @@
 #endif
 
 /*
- * Size of io_bitmap in longwords: 32 is ports 0-0x3ff.
+ * Size of io_bitmap in longwords.
  */
-#define IO_BITMAP_SIZE	32
+#define IO_BITMAP_SIZE	2048
 
 #define NUM_FPU_REGS	32
 
diff -Nru a/include/asm-x86_64/processor.h b/include/asm-x86_64/processor.h
--- a/include/asm-x86_64/processor.h	2004-07-06 21:54:34 +01:00
+++ b/include/asm-x86_64/processor.h	2004-07-06 21:54:34 +01:00
@@ -178,9 +178,9 @@
 	(test_thread_flag(TIF_IA32) ? TASK_UNMAPPED_32 : TASK_UNMAPPED_64)  
 
 /*
- * Size of io_bitmap, covering ports 0 to 0x3ff.
+ * Size of io_bitmap.
  */
-#define IO_BITMAP_BITS  1024
+#define IO_BITMAP_BITS  65536
 #define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
 #define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
 #define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]