Re: [PATCH net 2/4] hv_netvsc: reset vf_inject on VF removal

From: Vitaly Kuznetsov
Date: Thu Aug 11 2016 - 08:10:02 EST


Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> writes:

>> +static void netvsc_inject_enable(struct net_device_context
>> +*net_device_ctx) {
>> + net_device_ctx->vf_inject = true;
>> +}
>> +
>> +static void netvsc_inject_disable(struct net_device_context
>> +*net_device_ctx) {
>> + net_device_ctx->vf_inject = false;
>> +
>> + /* Wait for currently active users to drain out. */
>> + while (atomic_read(&net_device_ctx->vf_use_cnt) != 0)
>> + udelay(50);
>> +}
>
> That was already the behavior before, but are you certain you
> want to unconditionally block without any possible timeout?

Yes, this is OK. After PATCH4 of this series there is only one place
which takes the vf_use_cnt (netvsc_recv_callback()) and it is an
interrupt handler, there are no sleepable operations there.

--
Vitaly