[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4F94CAAD.1040207@intel.com>
Date: Sun, 22 Apr 2012 20:21:17 -0700
From: John Fastabend <john.r.fastabend@...el.com>
To: David Miller <davem@...emloft.net>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>
CC: therbert@...gle.com, alexander.duyck@...il.com,
alexander.h.duyck@...el.com, jeffrey.t.kirsher@...el.com,
netdev@...r.kernel.org, gospo@...hat.com, sassmann@...hat.com
Subject: Re: [net-next 04/14] net: Fix issue with netdev_tx_reset_queue not
resetting queue from XOFF state
On 4/21/2012 1:18 PM, David Miller wrote:
> From: John Fastabend <john.r.fastabend@...el.com>
> Date: Sat, 21 Apr 2012 09:27:31 -0700
>
>> On 4/20/2012 11:01 PM, Tom Herbert wrote:
>>>> I don't recall the exact reason now, as John said I think it had to do
>>>> with the ethtool tests not using the same cleanup routine and leaving
>>>> us in a bad state. I am pretty sure there was some path in which
>>>> where the call was didn't work but I do not recall the exact details
>>>> now. Most of the reason for moving it is due to the fact that the
>>>> reset is now also clearing the bit, and from the driver perspective we
>>>> didn't need it in two places. After looking it all over again, I
>>>> suppose this causes a cosmetic issue for the bql "inflight" statistic
>>>> in sysfs since the value will be retained until the interface is
>>>> brought back up with this change. Is that an issue or something that
>>>> can be lived with since the interface isn't active anyway in this
>>>> case?
>>>>
>>> On the surface, it seems cleaner and probably a simpler convention to
>>> clear the state when the buffers are being freed. If there's a good
>>> reason not to do this for igb, it makes me wonder if this should be
>>> done the same way in other drivers...
>>>
>>> Tom
>>
>> Just dug up the old thread. This was to fix a bug that byte queue limits
>> was causing with some of the loopback tests evoked from ethtool. The
>> loopback test uses a separate path to free the buffers which wasn't
>> calling netdev_tx_reset_queue().
>>
>> We should likely just explicitly clear the state in each routine rather
>> than try to be clever IMO.
>
> Agreed.
Further it can cause a real bug (the qdisc stack bit doesn't get cleared) if
the real_num_tx_queues is decreased for example in ixgbe when DCB is disabled.
I'll send a patch to JeffK.
Thanks,
John
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists