[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87lh038q26.fsf@vitty.brq.redhat.com>
Date: Thu, 11 Aug 2016 14:09:53 +0200
From: Vitaly Kuznetsov <vkuznets@...hat.com>
To: Yuval Mintz <Yuval.Mintz@...gic.com>
Cc: netdev <netdev@...r.kernel.org>,
"devel\@linuxdriverproject.org" <devel@...uxdriverproject.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Haiyang Zhang <haiyangz@...rosoft.com>,
"K. Y. Srinivasan" <kys@...rosoft.com>
Subject: Re: [PATCH net 2/4] hv_netvsc: reset vf_inject on VF removal
Yuval Mintz <Yuval.Mintz@...gic.com> 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
Powered by blists - more mailing lists