On Wed, 27 Feb 2019 at 11:54, Kal Cutter Conley <kal.conley@xxxxxxxxxxx> wrote: > > Hi, > We would love to adopt AF_XDP with ZC (with i40e), however, we are a > blocked by the lack of full jumbo frame support (8000-9000 bytes). I > would like to get a feel for the feasibility of implementing support > for this. Looking through the code it seems possible to support this > through huge pages without a huge amount of effort (i may be wrong). > The first thing that came to mind is something like: > (1) Add a page_size (or similar) field to the xdp_umem struct. > (2) During UMEM registration, check if the UMEM is only made up of > huge pages, if so, save the huge page size into the umem page_size > field instead of the default constant PAGE_SIZE value. > (3) Use the umem page size (for dma mapping etc.) instead of the fixed > standard PAGE_SIZE. > > Would this be a feasible solution? At least from the user (space) > perspective, this seems like relatively straightforward change: when > allocating the umem buffer, they only need to call mmap with the > appropriate huge page flags if they want to receive packets > > PAGE_SIZE. > Hi! A lot of people has been asking for >4k chunk sizes to deal with jumbo frames. Something in line with what you're suggesting is definitely doable. Somewhat related; we have some ideas of passing (huge)pages, instead of chunks into the fill ring. This could be baked into the huge page support as well. OTOH a lot of people are also concerned about the internal fragmentation with a chunk size of 2k, which is an opposing force to the huge page support. :-) Björn > Thanks, > Kal