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

Re: [Xen-devel] [PATCH V3] Xen/Keyhandler: Rework process of nonirq keyhandler



>>> On 13.10.16 at 12:06, <tianyu.lan@xxxxxxxxx> wrote:
> Keyhandler may run for a long time in serial port driver's
> timer handler on the large machine with a lot of physical
> cpus(e,g dump_timerq()) when serial port driver works in
> the poll mode(via the exception mechanism).
> 
> If a timer handler runs a long time, it will block nmi_timer_fn()
> to feed NMI watchdog and cause Xen hypervisor panic. Inserting
> process_pending_softirqs() in timer handler will not help. when timer
> interrupt arrives, timer subsystem calls all expired timer handlers
> before programming next timer interrupt. There is no timer interrupt
> arriving to trigger timer softirq during run a timer handler.
> 
> This patch is to fix the issue to make nonirq keyhandler run in
> tasklet when receive debug key from serial port.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx>

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
with ...

> --- a/xen/include/xen/keyhandler.h
> +++ b/xen/include/xen/keyhandler.h
> @@ -46,7 +46,9 @@ void register_irq_keyhandler(unsigned char key,
>                               bool_t diagnostic);
>  
>  /* Inject a keypress into the key-handling subsystem. */
> -extern void handle_keypress(unsigned char key, struct cpu_user_regs *regs);
> +extern void handle_keypress(unsigned char key,
> +                         struct cpu_user_regs *regs,
> +                         bool async);

... this also changed to force_tasklet. I guess the committer could,
easily do that, but otoh I'm not sure we want/need this for 4.8 - Wei?

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®.