[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56E2A3B6.2060208@citrix.com>
Date: Fri, 11 Mar 2016 10:53:42 +0000
From: David Vrabel <david.vrabel@...rix.com>
To: Anna-Maria Gleixner <anna-maria@...utronix.de>,
<linux-kernel@...r.kernel.org>
CC: David Vrabel <david.vrabel@...rix.com>,
<xen-devel@...ts.xenproject.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
<rt@...utronix.de>
Subject: Re: [Xen-devel] [PATCH] xen/events/fifo: Add missing hotplug notifier
transition
On 11/03/16 09:00, Anna-Maria Gleixner wrote:
> The evtchn_fifo_cpu_notification() hotplug callback lacks handling of
> the CPU_UP_CANCELED case. That means, if CPU_UP_PREPARE fails, the
> handle of the fifo events is not dropped.
>
> Add handling for CPU_UP_CANCELED transition to drop the fifo events
> handle.
__evtchn_fifo_handle_events() does not releases resources, it processes
any pending events for this CPU.
This patch would only be necessary if a CPU in CPU_UP_CANCELED state may
have had unmasked interrupts. If so you would need:
case CPU_UP_CANCELED:
if (per_cpu(cpu_control_block, cpu))
__evtchn_fifo_handle_events(cpu, true);
break;
To handle the case where the control block allocation or initialization
failed during CPU_UP_PREPARE.
David
>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@...cle.com>
> Cc: David Vrabel <david.vrabel@...rix.com>
> Cc: xen-devel@...ts.xenproject.org
> Signed-off-by: Anna-Maria Gleixner <anna-maria@...utronix.de>
> ---
> drivers/xen/events/events_fifo.c | 1 +
> 1 file changed, 1 insertion(+)
>
> --- a/drivers/xen/events/events_fifo.c
> +++ b/drivers/xen/events/events_fifo.c
> @@ -432,6 +432,7 @@ static int evtchn_fifo_cpu_notification(
> ret = evtchn_fifo_alloc_control_block(cpu);
> break;
> case CPU_DEAD:
> + case CPU_UP_CANCELED:
> __evtchn_fifo_handle_events(cpu, true);
> break;
> default:
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@...ts.xen.org
> http://lists.xen.org/xen-devel
>
Powered by blists - more mailing lists