Re: [RFC] Changing SysRq - show registers handling
From: Dmitry Torokhov
Date: Thu Jun 03 2004 - 02:16:31 EST
On Thursday 03 June 2004 02:03 am, Andy Lutomirski wrote:
>
> Dmitry Torokhov wrote:
>
> > Hi,
> >
> > Currently SysRq "show registers" command dumps registers and the call
> > trace from keyboard interrupt context when SysRq-P. For that struct pt_regs *
> > has to be dragged throughout entire input and USB systems. Other than passing
> > this pointer to SysRq handler these systems has no interest in it, it is
> > completely foreign piece of data for them and I would like to get rid of it.
> >
> > I am suggesting slightly changing semantics of SysRq-P handling - instread
> > of dumping registers and call trace immediately it will simply post a request
> > for this information to be dumped. When next HW interrupt arrives and is
> > handled, before running softirqs then current stack trace will be printed.
> > This approach adds small overhead to the HW interrupt handling routine as the
> > condition has to be checked with every interrupt but I expect it to be
> > negligible as it is only check and conditional jump that is almost never
> > taken. The code should be hot in cache so branch prediction should work just
> > fine.
>
> What about checking the flag on return from the input interrupts? That way
> the overhead would be confined to code paths take the hit from passing an
> extra parameter.
>
It is hard to define what input interrupt is - PS/2 keyboard in KBD port (IRQ 1),
PS/2 keyboard in AUX port (IRQ 12), USB, serial port, parralel port keyboard
adapter... and all other achitectures taht have their means - it's impossible to
track them all.
--
Dmitry
-
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/