CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2020/06/26 03:49:51
Modified files:
sys/dev/fdt : if_mvpp.c
Log message:
Add RX refill handling. Each mvpp(4) controller has up to 8 Buffer
Manager Pools. Typically there's supposed to be long and a short
pool, for different sizes of packets. Those pools are filled with
empty mbufs, by giving the hardware the physical address and some
cookie. On RX, it will return us the address and the cookie, so
that we can look up which mbuf that has been. Since I cannot be
sure we always get the buffers in the order they've been put in,
there could be holes in the list of RX buffers. Thus we keep a
freelist where we record all cookies for buffers that we have not
yet re-filled. By using pool per core, doing RX refill management
should be easier once we try to work with more queues. Also keep
note that a single mvpp(4) controller can have up to 3 ports, so
that means the individual ports are going to share RX buffer pools.