• Kevin Hao's avatar
    net: Introduce {netdev,napi}_alloc_frag_align() · 3f6e687d
    Kevin Hao authored
    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: default avatarKevin Hao <haokexin@gmail.com>
    Reviewed-by: default avatarAlexander Duyck <alexanderduyck@fb.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    3f6e687d
skbuff.c 157 KB