• Jesper Dangaard Brouer's avatar
    page_pool: help compiler remove code in case CONFIG_NUMA=n · f13fc107
    Jesper Dangaard Brouer authored
    When kernel is compiled without NUMA support, then page_pool NUMA
    config setting (pool->p.nid) doesn't make any practical sense. The
    compiler cannot see that it can remove the code paths.
    
    This patch avoids reading pool->p.nid setting in case of !CONFIG_NUMA,
    in allocation and numa check code, which helps compiler to see the
    optimisation potential. It leaves update code intact to keep API the
    same.
    
     $ ./scripts/bloat-o-meter net/core/page_pool.o-numa-enabled \
                               net/core/page_pool.o-numa-disabled
     add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-113 (-113)
     Function                                     old     new   delta
     page_pool_create                             401     398      -3
     __page_pool_alloc_pages_slow                 439     426     -13
     page_pool_refill_alloc_cache                 425     328     -97
     Total: Before=3611, After=3498, chg -3.13%
    Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f13fc107
page_pool.c 14 KB