Real-Time Preemption: Magic Sysrq p doesn't work

From: kus Kusche Klaus
Date: Mon May 09 2005 - 06:00:39 EST


While testing, I noticed that Sysrq p is silently ignored on current RT
kernels with RT preemption: The syslog contains a message that Sysrq p
was pressed, but no registers are printed.

A vanilla 2.6.11 with the same config (except for the RT-specific
settings) on the same hardware (i386) gives correct Sysrq p output.

The keyboard is connected via USB.

I checked the code: The sysrq p function is passed a "struct pt_regs *"
arg, and only produces output if this pointer is non-NULL. For RT
kernels, it is always NULL (I added a printk).

This "struct pt_regs *" travels all the way from the actual keyboard
interrupt handler (it is passed as an arg to "usb_kbd_irq"), but I was
not able to trace it back any further in the source.

Is this a known problem?

Is there any workaround? (Sysrq p would be very helpful for debugging!)

Thanks in advance for any hints!

--
Klaus Kusche (Software Development - Control Systems)
KEBA AG Gewerbepark Urfahr, A-4041 Linz, Austria (Europe)
Tel: +43 / 732 / 7090-3120 Fax: +43 / 732 / 7090-6301
E-Mail: kus@xxxxxxxx WWW: www.keba.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/