Re: [PATCH RFC 1/2] virtio-net: bql support

From: Michael S. Tsirkin
Date: Wed Jan 02 2019 - 08:54:45 EST


On Wed, Jan 02, 2019 at 11:30:11AM +0800, Jason Wang wrote:
>
> On 2018/12/31 äå2:48, Michael S. Tsirkin wrote:
> > On Thu, Dec 27, 2018 at 06:04:53PM +0800, Jason Wang wrote:
> > > On 2018/12/26 äå11:22, Michael S. Tsirkin wrote:
> > > > On Thu, Dec 06, 2018 at 04:17:36PM +0800, Jason Wang wrote:
> > > > > On 2018/12/6 äå6:54, Michael S. Tsirkin wrote:
> > > > > > When use_napi is set, let's enable BQLs. Note: some of the issues are
> > > > > > similar to wifi. It's worth considering whether something similar to
> > > > > > commit 36148c2bbfbe ("mac80211: Adjust TSQ pacing shift") might be
> > > > > > benefitial.
> > > > > I've played a similar patch several days before. The tricky part is the mode
> > > > > switching between napi and no napi. We should make sure when the packet is
> > > > > sent and trakced by BQL, it should be consumed by BQL as well.
> > > > I just went over the patch again and I don't understand this comment.
> > > > This patch only enabled BQL with tx napi.
> > > >
> > > > Thus there's no mode switching.
> > > >
> > > > What did I miss?
> > > Consider the case:
> > >
> > >
> > > TX NAPI is disabled:
> > >
> > > send N packets
> > >
> > > turn TX NAPI on:
> > >
> > > get tx interrupt
> > >
> > > BQL try to consume those packets when lead WARN for dql.
> > >
> > >
> > > Thanks
> > Can one really switch tx napi on and off? How?
> > While root can change the napi_tx module parameter, I don't think
> > that has any effect outside device probe time. What did I miss?
> >
> >
> >
>
> We support switch the mode through ethtool recently. See
>
> commit 0c465be183c7c57a26446df6ea96d8676b865f92
> Author: Jason Wang <jasowang@xxxxxxxxxx>
> Date:ÂÂ Tue Oct 9 10:06:26 2018 +0800
>
> ÂÂÂ virtio_net: ethtool tx napi configuration
>
> ÂÂÂ Implement ethtool .set_coalesce (-C) and .get_coalesce (-c) handlers.
> ÂÂÂ Interrupt moderation is currently not supported, so these accept and
> ÂÂÂ display the default settings of 0 usec and 1 frame.
>
> ÂÂÂ Toggle tx napi through setting tx-frames. So as to not interfere
> ÂÂÂ with possible future interrupt moderation, value 1 means tx napi while
> ÂÂÂ value 0 means not.
>
> ÂÂÂ Only allow the switching when device is down for simplicity.
>
> ÂÂÂ Link: https://patchwork.ozlabs.org/patch/948149/
> ÂÂÂ Suggested-by: Jason Wang <jasowang@xxxxxxxxxx>
> ÂÂÂ Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx>
> ÂÂÂ Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> ÂÂÂ Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
>
> Thanks


It's disabled when device is up - isn't that enough?

--
MST