On Fri, Jun 21, 2019 at 7:56 AM Ilya Maximets <i.maxim...@samsung.com> wrote: > > On 19.06.2019 22:51, William Tu wrote: > > The patch introduces experimental AF_XDP support for OVS netdev. > > AF_XDP, the Address Family of the eXpress Data Path, is a new Linux socket > > type built upon the eBPF and XDP technology. It is aims to have comparable > > performance to DPDK but cooperate better with existing kernel's networking > > stack. An AF_XDP socket receives and sends packets from an eBPF/XDP program > > attached to the netdev, by-passing a couple of Linux kernel's subsystems > > As a result, AF_XDP socket shows much better performance than AF_PACKET > > For more details about AF_XDP, please see linux kernel's > > Documentation/networking/af_xdp.rst. Note that by default, this feature is > > not compiled in. > > > > Signed-off-by: William Tu <u9012...@gmail.com> > > --- > > Hi! > This is about "conntrack - IP fragmentation expiry" tests I mentioned in a > previous mail: > https://mail.openvswitch.org/pipermail/ovs-dev/2019-June/359971.html > > There is a major bug related to a memory pools management. The issue is that > we *must not* free memory pool until there are packets from it in use by > any other code. For example, packets could be delayed for the future > processing > like it happens in case of IP fragments re-assembly. We fixed same issue for > DPDK around a year ago. In practice, we must postpone actual freeing of > umem->buffer, umem_pool and the xpacket_pool until all packets freed i.e. > umemp->index != umemp->size. > > You may use 'dpdk_mp_sweep' as a reference. > Hi Ilya,
Thanks, I can reproduce the issue. So we can only free the umem_pool, umem->buffer and xpacket_pool when umemp->index == umemp-size, (meaning all elems we pop have been pushed back to the umem pool). One extra thing to work on is to reclaim umem memory on the queues when destroy xsk. Ex: reclaim umem elems on fill queues and make sure elems in rx queue are all processed. And reclaim umem elems on tx queues, and make sure elems in completion queues are all processed. I'm working on the idea similar to the dpdk_mp_sweep. Regards, William <snip> _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev