On Mon, 2007-10-08 at 10:10 -0400, Steven Rostedt wrote: > This issue has hit me enough times where I've played with a few other > ideas. I just haven't had the time to finish them. The main problem is if > the system locks up somewhere we have a lock held that keeps us from > scheduling. Once that happens in -rt, we are as good as dead. Since you > can't get much info out without a JTAG or some other mechanism. > > One thought I had was to create a small handler that could read the serial > and place data into a buffer. This handler would be a IRQ_NODELAY, and it > would wake up a serial thread to handle the data just like it would for > normal serial output. But the serial thread would just read from the > buffer instead of the serial itself. In the case of a sysrq key coming > in, the IRQ_NODELAY handler would handle it. > Hi Steve, What you describe is exactly what I did. The IRQF_NODELAY handler just minimally checks to see if the character is a sysrq related one (or KDB, if you have the KDB patches applied). If it is not, it puts the character into a ring-buffer and wakes a (kthread-based) tasklet to do the normal serial/tty rx path by processing the ring. Hope that helps to clarify. Regards, -Greg - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html