On Tue, 28 Jan 2020 12:42:21 -0600 Christian Deacon <gamemann@xxxxxxxxxxx> wrote: > I understand the `e1000e` driver doesn't have XDP support upstream. > Therefore, I tried implementing the driver patch that adds XDP support > here <https://github.com/adjavon/e1000e_xdp>. Unfortunately, this patch > was based off of kernel 4.10.2 (I'm using 4.19). Therefore, I had to > manually implement the patch code (this is my first time messing with > NIC driver code). Sadly, it doesn't seem like the patch worked based off > of the 'perf' results which are attached. I still see "do_xdp_generic" I do think it would be more valuable to implement XDP for driver igb. Given igb is a "slow" 1Gbit/s interface, we could also just fix XDP-generic to avoid the reallocation of the SKB for every packet... I've attached two patches which does exactly that. It sounds like you know howto apply patches and recompile your kernel(?) I've tested this on my testlab. The igb hardware seems is limited to 1.2Mpps. Using an XDP_DROP test program, I observe the CPU processing packets use 50% CPU time before, and 36% CPU time after the patches. -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer
Attachment:
01-04-xdp-headroom
Description: Binary data
Attachment:
02-igb-adjust-headroom
Description: Binary data