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

Re: [Xen-devel] [PATCH] Xen: Force non-irq keyhandler to be run in tasklet when receive a debugkey from serial port



>>> On 24.10.16 at 16:12, <tianyu.lan@xxxxxxxxx> wrote:

> 
> On 10/24/2016 9:38 PM, Konrad Rzeszutek Wilk wrote:
>> On Mon, Oct 24, 2016 at 09:29:53PM +0800, Lan, Tianyu wrote:
>>> On 10/24/2016 8:19 AM, Konrad Rzeszutek Wilk wrote:
>>>> On Sat, Oct 22, 2016 at 07:23:03PM +0800, Lan Tianyu wrote:
>>>>> __serial_rx() runs in either irq handler or timer handler and non-irq
>>>>> keyhandler should not run in these contexts. So always force non-irq
>>>>> keyhandler to run in tasklet when receive a debugkey from serial port
>>>>
>>>> If the machine is hung with an IRQ handler being stuck, and
>>>> one does 'Ctrl-Ax3` followed by 'C' .. which would not be invoked
>>>> (as it is not an IRQ handler??
>>>
>>> If serial port's interrupt still works in this case, the 'C'
>>> keyhandler kexec_crash() will be invoked in a tasklet. This behavior was
>>> changed by my patches if includes this patch.
>>
>> Right, but the tasklet won't get to run at that point - as for example
>> the IRQ handler is stuck - so tasklets never get run? Or maybe
>> they do on another CPU?
> 
> If serial interrupt handler works, the cpu receiving serial port
> interrupt should work normally. Tasklet_schedule() in the
> handle_keypress() queues keyhandler tasklet to that cpu and tasklet also
> should get to run at that point.

Unless something else in the system is in a state preventing that.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.