• Jesper Dangaard Brouer's avatar
    bpf: cpumap add tracepoints · f9419f7b
    Jesper Dangaard Brouer authored
    This adds two tracepoint to the cpumap.  One for the enqueue side
    trace_xdp_cpumap_enqueue() and one for the kthread dequeue side
    trace_xdp_cpumap_kthread().
    
    To mitigate the tracepoint overhead, these are invoked during the
    enqueue/dequeue bulking phases, thus amortizing the cost.
    
    The obvious use-cases are for debugging and monitoring.  The
    non-intuitive use-case is using these as a feedback loop to know the
    system load.  One can imagine auto-scaling by reducing, adding or
    activating more worker CPUs on demand.
    
    V4: tracepoint remove time_limit info, instead add sched info
    
    V8: intro struct bpf_cpu_map_entry members cpu+map_id in this patch
    Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f9419f7b
cpumap.c 19.6 KB