Hello Jason, On Thu, Jun 6, 2024 at 8:21 AM Jason Wang <[email protected]> wrote: > > On Wed, Jun 5, 2024 at 7:51 PM Heng Qi <[email protected]> wrote: > > > > On Wed, 5 Jun 2024 13:30:51 +0200, Jiri Pirko <[email protected]> wrote: > > > Mon, May 20, 2024 at 02:48:15PM CEST, [email protected] wrote: > > > >Fri, May 10, 2024 at 09:11:16AM CEST, [email protected] wrote: > > > >>On Thu, 9 May 2024 13:46:15 +0200, Jiri Pirko <[email protected]> wrote: > > > >>> From: Jiri Pirko <[email protected]> > > > >>> > > > >>> Add support for Byte Queue Limits (BQL). > > > >> > > > >>Historically both Jason and Michael have attempted to support BQL > > > >>for virtio-net, for example: > > > >> > > > >>https://lore.kernel.org/netdev/[email protected]/ > > > >> > > > >>These discussions focus primarily on: > > > >> > > > >>1. BQL is based on napi tx. Therefore, the transfer of statistical > > > >>information > > > >>needs to rely on the judgment of use_napi. When the napi mode is > > > >>switched to > > > >>orphan, some statistical information will be lost, resulting in > > > >>temporary > > > >>inaccuracy in BQL. > > > >> > > > >>2. If tx dim is supported, orphan mode may be removed and tx irq will > > > >>be more > > > >>reasonable. This provides good support for BQL. > > > > > > > >But when the device does not support dim, the orphan mode is still > > > >needed, isn't it? > > > > > > Heng, is my assuption correct here? Thanks! > > > > > > > Maybe, according to our cloud data, napi_tx=on works better than orphan > > mode in > > most scenarios. Although orphan mode performs better in specific benckmark, > > For example pktgen (I meant even if the orphan mode can break pktgen, > it can finish when there's a new packet that needs to be sent after > pktgen is completed). > > > perf of napi_tx can be enhanced through tx dim. Then, there is no reason > > not to > > support dim for devices that want the best performance. > > Ideally, if we can drop orphan mode, everything would be simplified.
Please please don't do this. Orphan mode still has its merits. In some cases which can hardly be reproduced in production, we still choose to turn off the napi_tx mode because the delay of freeing a skb could cause lower performance in the tx path, which is, I know, surely designed on purpose. If the codes of orphan mode don't have an impact when you enable napi_tx mode, please keep it if you can. Thank you.
