On Tue, 2016-07-19 at 12:16 -0700, Brenden Blanco wrote: > The mlx4 driver by default allocates order-3 pages for the ring to > consume in multiple fragments. When the device has an xdp program, this > behavior will prevent tx actions since the page must be re-mapped in > TODEVICE mode, which cannot be done if the page is still shared. > > Start by making the allocator configurable based on whether xdp is > running, such that order-0 pages are always used and never shared. > > Since this will stress the page allocator, add a simple page cache to > each rx ring. Pages in the cache are left dma-mapped, and in drop-only > stress tests the page allocator is eliminated from the perf report. > > Note that setting an xdp program will now require the rings to be > reconfigured.
Again, this has nothing to do with XDP ? Please submit a separate patch, switching this driver to order-0 allocations. I mentioned this order-3 vs order-0 issue earlier [1], and proposed to send a generic patch, but had been traveling lately, and currently in vacation. order-3 pages are problematic when dealing with hostile traffic anyway, so we should exclusively use order-0 pages, and page recycling like Intel drivers. http://lists.openwall.net/netdev/2016/04/11/88