Provided by: bpftune_0.0~git20250121.d38eac6-1ubuntu1_amd64 bug

NAME

       BPFTUNE-NET-BUFFER - Networking buffer bpftune plugin for managing net core buffers

DESCRIPTION

          A   backlog   queue   is   used   to   buffer  incoming  traffic  and  its  length  is  controlled  by
          net.core.netdev_max_backlog.  On fast connections (10Gb/s or higher) the  default  backlog  length  of
          1024  can be insufficient; here the backlog length is increased if 1/16 of current backlog size in the
          last minute is dropped (drops occur when the backlog limit is reached).  In  addition,  backlog  drops
          can avoid small flows; the tunable net.core.flow_limit_cpu_bitmap can be used to set this on a per-cpu
          basis;  when  we  see  sufficient  drops  on  a  CPU, the appropriate bit is set in the CPU bitmask to
          prioritize small flows for drop avoidance.

          When NAPI polls to handle multiple packets, the number of packets is limited by net.core.netdev_budget
          while the time is limited by net.core.netdev_budget_usecs.  If we hit the limit of number  of  packets
          processed without using the usecs budget the time_squeezed softnet stat is bumped; if we see increases
          in time_squeezed, bump netdev_budget/netdev_budget_usecs.

          However,  we  want  to  limit  such increases if they lead to longer task scheduling wait times, so we
          monitor the ratio of time tasks spend waiting versus running across all  processors,  and  if  we  see
          correlations  between  increases in netdev budget and wait/run ratio increases, netdev budget is tuned
          down.

          Tunables:

          • net.core.netdev_max_backlog: maximum per-cpu backlog queue length; default 1024.

          • net.core.flow_limit_cpu_bitmap: avoid drops for small flows on a per-cpu basis; default 0.

          • net.core.netdev_budget: maximum number of packets processed in a NAPI cycle

          • net.core.netdev_budget_usecs: maximum amount of time in microseconds for a NAPI cycle

SEE ALSO

          bpf(2), bpftune(8),

                                                                                           BPFTUNE-NET-BUFFER(8)