• S
    net: thunderx: Optimize page recycling for XDP · 77322538
    Sunil Goutham 提交于
    Driver follows a method of taking one extra reference on the
    page for recycling which is fine in usual packet path where
    each 64KB page is segmented into multiple receive buffers.
    
    But in XDP mode since there is just one receive buffer per
    page taking extra page reference itself becomes big bottleneck
    consuming ~50% of CPU cycles due to atomic operations.
    
    This patch adds a internal ref count in pgcache for each
    page and additional page references are taken in a batch
    instead of just one at a time. Internal i.e 'pgcache->ref_count'
    and page's i.e 'page->_refcount' counters are compared to check
    page's recyclability.
    Signed-off-by: NSunil Goutham <sgoutham@cavium.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    77322538
nicvf_queues.c 50.7 KB