Print the PREEMPT/SMP/DEBUG_PAGEALLOC settings during oopses.  The modified
output looks like this:

 Unable to handle kernel paging request at virtual address c4734068
  printing eip:
 c04e58b6
 *pde = 00012067
 Oops: 0000 [#1]
 PREEMPT SMP DEBUG_PAGEALLOC
 CPU:    0

I find it fairly handy.  It sometimes saves an email round-trip when
diagnosing crashes.



 arch/i386/kernel/traps.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+)

diff -puN arch/i386/kernel/traps.c~print-build-options-on-oops arch/i386/kernel/traps.c
--- 25/arch/i386/kernel/traps.c~print-build-options-on-oops	2003-09-21 14:01:15.000000000 -0700
+++ 25-akpm/arch/i386/kernel/traps.c	2003-09-21 14:01:15.000000000 -0700
@@ -289,12 +289,27 @@ spinlock_t die_lock = SPIN_LOCK_UNLOCKED
 void die(const char * str, struct pt_regs * regs, long err)
 {
 	static int die_counter;
+	int nl = 0;
 
 	console_verbose();
 	spin_lock_irq(&die_lock);
 	bust_spinlocks(1);
 	handle_BUG(regs);
 	printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter);
+#ifdef CONFIG_PREEMPT
+	printk("PREEMPT ");
+	nl = 1;
+#endif
+#ifdef CONFIG_SMP
+	printk("SMP ");
+	nl = 1;
+#endif
+#ifdef CONFIG_DEBUG_PAGEALLOC
+	printk("DEBUG_PAGEALLOC");
+	nl = 1;
+#endif
+	if (nl)
+		printk("\n");
 #ifdef CONFIG_KGDB
 	/* This is about the only place we want to go to kgdb even if in
 	 * user mode.  But we must go in via a trap so within kgdb we will

_