[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKgT0UffcP_op+=oYL2xBMWeOqy3G7xpqLxsoK0hMws0OFGdmw@mail.gmail.com>
Date: Thu, 4 Feb 2021 08:11:21 -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>,
Andrew Morton <akpm@...ux-foundation.org>,
Netdev <netdev@...r.kernel.org>, linux-mm <linux-mm@...ck.org>,
Vlastimil Babka <vbabka@...e.cz>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [PATCH net-next v3 1/4] mm: page_frag: Introduce page_frag_alloc_align()
On Thu, Feb 4, 2021 at 3:06 AM Kevin Hao <haokexin@...il.com> wrote:
>
> In the current implementation of page_frag_alloc(), 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 page_frag_alloc() are used by these hardwares for
> DMA.
> buf = page_frag_alloc(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. So introduce
> page_frag_alloc_align() to make sure that an aligned buffer address is
> returned.
>
> Signed-off-by: Kevin Hao <haokexin@...il.com>
> Acked-by: Vlastimil Babka <vbabka@...e.cz>
> ---
> v3: Use align mask as suggested by Alexander.
>
> include/linux/gfp.h | 12 ++++++++++--
> mm/page_alloc.c | 8 +++++---
> 2 files changed, 15 insertions(+), 5 deletions(-)
Looks good to me.
Reviewed-by: Alexander Duyck <alexanderduyck@...com>
Powered by blists - more mailing lists