From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Lemon Date: Fri, 30 Aug 2019 08:45:35 -0700 Subject: [Intel-wired-lan] [PATCH bpf-next v6 07/12] net/mlx5e: Allow XSK frames smaller than a page In-Reply-To: <20190827022531.15060-8-kevin.laatz@intel.com> References: <20190822014427.49800-1-kevin.laatz@intel.com> <20190827022531.15060-1-kevin.laatz@intel.com> <20190827022531.15060-8-kevin.laatz@intel.com> Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: intel-wired-lan@osuosl.org List-ID: On 26 Aug 2019, at 19:25, Kevin Laatz wrote: > From: Maxim Mikityanskiy > > Relax the requirements to the XSK frame size to allow it to be smaller > than a page and even not a power of two. The current implementation can > work in this mode, both with Striding RQ and without it. > > The code that checks `mtu + headroom <= XSK frame size` is modified > accordingly. Any frame size between 2048 and PAGE_SIZE is accepted. > > Functions that worked with pages only now work with XSK frames, even if > their size is different from PAGE_SIZE. > > With XSK queues, regardless of the frame size, Striding RQ uses the > stride size of PAGE_SIZE, and UMR MTTs are posted using starting > addresses of frames, but PAGE_SIZE as page size. MTU guarantees that no > packet data will overlap with other frames. UMR MTT size is made equal > to the stride size of the RQ, because UMEM frames may come in random > order, and we need to handle them one by one. PAGE_SIZE is just a power > of two that is bigger than any allowed XSK frame size, and also it > doesn't require making additional changes to the code. > > Signed-off-by: Maxim Mikityanskiy > Reviewed-by: Saeed Mahameed Acked-by: Jonathan Lemon