Skip to content
Commit 028488b2 authored by Kevin Hao's avatar Kevin Hao Committed by Ruiqiang Hao
Browse files

net: Introduce {netdev,napi}_alloc_frag_align()



commit 69ca85c01cd78fa6c832ce9c15596bfedf2fcff1 from
git@git.assembla.com:cavium/WindRiver.linux.git

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.

Change-Id: I6e9a363ea7578df93c8c996fb0338ec28342d21f
Signed-off-by: default avatarKevin Hao <haokexin@gmail.com>
Reviewed-by: default avatarAlexander Duyck <alexanderduyck@fb.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Reviewed-on: https://sj1git1.cavium.com/c/IP/SW/kernel/linux/+/56456


Tested-by: default avatarsa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com>
Reviewed-by: default avatarSunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: default avatarRuiqiang Hao <Ruiqiang.Hao@windriver.com>
parent 029d8f6a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment