Re: [PATCH 6/6] drivers: enable xenwatch multithreading for xen-netback and xen-blkback driver

From: Juergen Gross
Date: Fri Sep 14 2018 - 05:16:34 EST


On 14/09/18 09:34, Dongli Zhang wrote:
> This is the 6th patch of a (6-patch) patch set.
>
> As the 'use_mtwatch' for xen-netback and xen-blkback are set to true,
> probing any xenbus devices of those two drivers would create the per-domU
> xenwatch thread for the domid the new devices belong to, or increment the
> reference count of existing thread.
>
> Xenwatch multithreading might be enabled for more xen backend pv drivers in
> the future.
>
> Signed-off-by: Dongli Zhang <dongli.zhang@xxxxxxxxxx>
> ---
> drivers/block/xen-blkback/xenbus.c | 3 ++-
> drivers/net/xen-netback/xenbus.c | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> index a4bc74e..debbbd0 100644
> --- a/drivers/block/xen-blkback/xenbus.c
> +++ b/drivers/block/xen-blkback/xenbus.c
> @@ -1108,7 +1108,8 @@ static struct xenbus_driver xen_blkbk_driver = {
> .ids = xen_blkbk_ids,
> .probe = xen_blkbk_probe,
> .remove = xen_blkbk_remove,
> - .otherend_changed = frontend_changed
> + .otherend_changed = frontend_changed,
> + .use_mtwatch = true,
> };
>
> int xen_blkif_xenbus_init(void)
> diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
> index cd51492..63d46a7 100644
> --- a/drivers/net/xen-netback/xenbus.c
> +++ b/drivers/net/xen-netback/xenbus.c
> @@ -1203,6 +1203,7 @@ static struct xenbus_driver netback_driver = {
> .remove = netback_remove,
> .uevent = netback_uevent,
> .otherend_changed = frontend_changed,
> + .use_mtwatch = true,

Is there a special reason why kernel based backends shouldn't all use
the multithread model? This would avoid the need for the use_mtwatch
struct member.

This is meant as an honest question. I'm really not sure we should
switch all backends at once. OTOH I can't see any real downsides.

Thoughts?


Juergen