On Thu, Oct 13, 2016 at 03:30:04AM -0600, Jan Beulich wrote:
> >>> On 13.10.16 at 12:06, <tianyu....@intel.com> 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....@intel.com>
> 
> Reviewed-by: Jan Beulich <jbeul...@suse.com>
> 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?
> 

I'm fine with putting this into 4.8. The tree is stable at the moment,
we can feed to few nice-to-have things.

Wei.

> Jan
> 

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

Reply via email to