• Eric Dumazet's avatar
    random32: add a tracepoint for prandom_u32() · 94c7eb54
    Eric Dumazet authored
    There has been some heat around prandom_u32() lately, and some people
    were wondering if there was a simple way to determine how often
    it was used, before considering making it maybe 10 times more expensive.
    
    This tracepoint exports the generated pseudo random value.
    
    Tested:
    
    perf list | grep prandom_u32
      random:prandom_u32                                 [Tracepoint event]
    
    perf record -a [-g] [-C1] -e random:prandom_u32 sleep 1
    [ perf record: Woken up 0 times to write data ]
    [ perf record: Captured and wrote 259.748 MB perf.data (924087 samples) ]
    
    perf report --nochildren
        ...
        97.67%  ksoftirqd/1     [kernel.vmlinux]  [k] prandom_u32
                |
                ---prandom_u32
                   prandom_u32
                   |
                   |--48.86%--tcp_v4_syn_recv_sock
                   |          tcp_check_req
                   |          tcp_v4_rcv
                   |          ...
                    --48.81%--tcp_conn_request
                              tcp_v4_conn_request
                              tcp_rcv_state_process
                              ...
    perf script
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Willy Tarreau <w@1wt.eu>
    Cc: Sedat Dilek <sedat.dilek@gmail.com>
    Tested-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    94c7eb54
random.h 7.29 KB