Re: [PATCHv2] xen-netfront: remove warning when unloading module

From: Juergen Gross
Date: Mon Nov 27 2017 - 04:00:56 EST


On 23/11/17 15:18, Eduardo Otubo wrote:
> v2:
> * Replace busy wait with wait_event()/wake_up_all()
> * Cannot garantee that at the time xennet_remove is called, the
> xen_netback state will not be XenbusStateClosed, so added a
> condition for that
> * There's a small chance for the xen_netback state is
> XenbusStateUnknown by the time the xen_netfront switches to Closed,
> so added a condition for that.
>
> When unloading module xen_netfront from guest, dmesg would output
> warning messages like below:
>
> [ 105.236836] xen:grant_table: WARNING: g.e. 0x903 still in use!
> [ 105.236839] deferring g.e. 0x903 (pfn 0x35805)
>
> This problem relies on netfront and netback being out of sync. By the time
> netfront revokes the g.e.'s netback didn't have enough time to free all of
> them, hence displaying the warnings on dmesg.
>
> The trick here is to make netfront to wait until netback frees all the g.e.'s
> and only then continue to cleanup for the module removal, and this is done by
> manipulating both device states.
>
> Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxx>

Acked-by: Juergen Gross <jgross@xxxxxxxx>


Juergen