On Tue, 18 Jun 2024 09:00:56 +0800, Jason Wang <jasowang@xxxxxxxxxx> wrote: > On Mon, Jun 17, 2024 at 3:41 PM Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > > > > On Mon, 17 Jun 2024 14:28:05 +0800, Jason Wang <jasowang@xxxxxxxxxx> wrote: > > > On Mon, Jun 17, 2024 at 1:00 PM Jason Wang <jasowang@xxxxxxxxxx> wrote: > > > > > > > > On Fri, Jun 14, 2024 at 2:39 PM Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > > > > > > > > > > If the xsk is enabling, the xsk tx will share the send queue. > > > > > But the xsk requires that the send queue use the premapped mode. > > > > > So the send queue must support premapped mode when it is bound to > > > > > af-xdp. > > > > > > > > > > * virtnet_sq_set_premapped(sq, true) is used to enable premapped mode. > > > > > > > > > > In this mode, the driver will record the dma info when skb or xdp > > > > > frame is sent. > > > > > > > > > > Currently, the SQ premapped mode is operational only with af-xdp. In > > > > > this mode, af-xdp, the kernel stack, and xdp tx/redirect will share > > > > > the same SQ. Af-xdp independently manages its DMA. The kernel stack > > > > > and xdp tx/redirect utilize this DMA metadata to manage the DMA > > > > > info. > > > > > > > > > > > Note that there's indeed a mode when we have exclusive XDP TX queue: > > > > > > /* XDP requires extra queues for XDP_TX */ > > > if (curr_qp + xdp_qp > vi->max_queue_pairs) { > > > netdev_warn_once(dev, "XDP request %i queues but max > > > is %i. XDP_TX and XDP_REDIRECT will operate in a slower locked tx > > > mode.\n", > > > curr_qp + xdp_qp, vi->max_queue_pairs); > > > xdp_qp = 0; > > > } > > > > > > So we need to mention how the code works in this patch. > > > > Sorry, I do not get it. > > > > Could you say more? > > I meant in the commit log, you said: > > """ > In this mode, af-xdp, the kernel stack, and xdp tx/redirect will share > the same SQ. > """ > > is not correct if we have sufficient queue pairs. > > We need to tweak it and explain if the code can still work if we have > exclusive XDP TX queues. YES, it can work. I will explain in next version. Thanks. > > Thanks > > > > > Thanks. > > > > > > > > > > Thanks > > > > > >