|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V3 net-next 3/5] xen-netfront: Factor queue-specific data into queue struct.
On 14/02/14 17:35, Andrew J. Bennieston wrote:
> From: "Andrew J. Bennieston" <andrew.bennieston@xxxxxxxxxx>
>
> In preparation for multi-queue support in xen-netfront, move the
> queue-specific data from struct netfront_info to struct netfront_queue,
> and update the rest of the code to use this.
>
> Also adds loops over queues where appropriate, even though only one is
> configured at this point, and uses alloc_etherdev_mq() and the
> corresponding multi-queue netif wake/start/stop functions in preparation
> for multiple active queues.
>
> Finally, implements a trivial queue selection function suitable for
> ndo_select_queue, which simply returns 0, selecting the first (and
> only) queue.
[...]
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
[...]
> @@ -2048,17 +2196,27 @@ static const struct xenbus_device_id netfront_ids[] =
> {
[...]
> + for (i = 0; i < info->num_queues; ++i) {
> + queue = &info->queues[i];
> + del_timer_sync(&queue->rx_refill_timer);
> + }
> +
> + if (info->num_queues) {
> + kfree(info->queues);
> + info->queues = NULL;
> + }
> +
> xennet_sysfs_delif(info->netdev);
>
> unregister_netdev(info->netdev);
>
> - del_timer_sync(&info->rx_refill_timer);
> -
This has reordered the del_timer_sync() to before the
unregister_netdev() call.
Can you be sure that the timer cannot be restarted after deleting it?
David
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |