RE: [RFC PATCH v12 01/17] dlb: add skeleton for DLB driver

From: Chen, Mike Ximing
Date: Thu Dec 23 2021 - 00:15:51 EST




> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Wednesday, December 22, 2021 4:27 PM
> To: Chen, Mike Ximing <mike.ximing.chen@xxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx; arnd@xxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; Williams, Dan J
> <dan.j.williams@xxxxxxxxx>; pierre-louis.bossart@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> davem@xxxxxxxxxxxxx; kuba@xxxxxxxxxx
> Subject: Re: [RFC PATCH v12 01/17] dlb: add skeleton for DLB driver
>
> > > pointing to skbufs? How are the lifetimes of skbufs managed? How do
> > > you get skbufs out of the NIC? Are you using XDP?
> >
> > This is not a network accelerator in the sense that it does not have
> > direct access to the network sockets/ports. We do not use XDP.
>
> So not using XDP is a problem. I looked at previous versions of this patch, and it is all DPDK. But DPDK is
> not in mainline, XDP is. In order for this to be merged into mainline you need a mainline user of it.
>
> Maybe you should abandon mainline, and just get this driver merged into the DPDK fork of Linux?
>
Hi Andrew,

I am not sure why not using XDP is a problem. As mentioned earlier, the
DLB driver is not a part of network stack.

DPDK is one of applications that can make a good use of DLB, but is not the
only one. We have applications that access DLB directly via the kernel driver API
without using DPDK. Even in a DPDK application, the only part that involves
DLB is the eventdev poll mod driver module, in which we can replace a
traditional software base queue manager with DLB. The network access and
receiving/transmitting data from/to NIC is, on the other hand, handled by
the ethdev in DPDK. The eventdev (and DLB) distributes packet processing
over multiple worker cores.

Thanks
Mike