[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKgT0UdrAABMsc9BoO1pkR1=ZXCWp4EvhJTT0Ow9cGeX2EvQMQ@mail.gmail.com>
Date: Thu, 4 Feb 2021 08:19:15 -0800
From: Alexander Duyck <alexander.duyck@...il.com>
To: Kevin Hao <haokexin@...il.com>
Cc: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Netdev <netdev@...r.kernel.org>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [PATCH net-next v3 2/4] net: Introduce {netdev,napi}_alloc_frag_align()
On Thu, Feb 4, 2021 at 3:06 AM Kevin Hao <haokexin@...il.com> wrote:
>
> In the current implementation of {netdev,napi}_alloc_frag(), it doesn't
> have any align guarantee for the returned buffer address, But for some
> hardwares they do require the DMA buffer to be aligned correctly,
> so we would have to use some workarounds like below if the buffers
> allocated by the {netdev,napi}_alloc_frag() are used by these hardwares
> for DMA.
> buf = napi_alloc_frag(really_needed_size + align);
> buf = PTR_ALIGN(buf, align);
>
> These codes seems ugly and would waste a lot of memories if the buffers
> are used in a network driver for the TX/RX. We have added the align
> support for the page_frag functions, so add the corresponding
> {netdev,napi}_frag functions.
>
> Signed-off-by: Kevin Hao <haokexin@...il.com>
> ---
> v3: Use align mask and refactor the {netdev,napi}_alloc_frag_align() as
> suggested by Alexander.
>
> include/linux/skbuff.h | 36 ++++++++++++++++++++++++++++++++++--
> net/core/skbuff.c | 26 ++++++++++----------------
> 2 files changed, 44 insertions(+), 18 deletions(-)
Reviewed-by: Alexander Duyck <alexanderduyck@...com>
Powered by blists - more mailing lists