MINOR: tasks/activity: improve the caller-callee activity hash
The previous dump already showed that the "other" category was getting
a few entries. Let's proceed like for the memory profiling, by scanning
a limited range of adjacent slots to find a spare one (16 max). That's
pretty fast since close and likely prefetched and the comparison is
cheap. The new dump now shows up to 45 entries below without "other":
Now:
Tasks activity:
function calls cpu_tot cpu_avg lat_tot lat_avg
task_run_applet 22 34.56ms 1.571ms 1.145ms 52.04us <- sc_applet_create@src/stconn.c:489 appctx_wakeup
task_run_applet 21 11.11us 529.0ns 2.590ms 123.3us <- run_tasks_from_lists@src/task.c:652 task_drop_running
task_run_applet 5 7.715ms 1.543ms 2.186us 437.0ns <- sc_app_chk_snd_applet@src/stconn.c:996 appctx_wakeup
accept_queue_process 345 3.129ms 9.068us 72.84ms 211.1us <- listener_accept@src/listener.c:1099 tasklet_wakeup
accept_queue_process 32 113.0us 3.529us 3.070ms 95.94us <- accept_queue_process@src/listener.c:165 tasklet_wakeup
sc_conn_io_cb 5026032 3.037s 604.0ns 17.47m 208.5us <- sc_app_chk_rcv_conn@src/stconn.c:762 tasklet_wakeup
sc_conn_io_cb 4361192 7.626s 1.748us 3.179m 43.74us <- h1_wake_stream_for_recv@src/mux_h1.c:2600 tasklet_wakeup
sc_conn_io_cb 178293 275.4ms 1.544us 2.740m 922.0us <- qcs_notify_send@src/mux_quic.c:529 tasklet_wakeup
sc_conn_io_cb 2561 15.84ms 6.185us 1.036s 404.4us <- h1_wake_stream_for_send@src/mux_h1.c:2610 tasklet_wakeup
sc_conn_io_cb 453 261.4us 577.0ns 86.79ms 191.6us <- h2s_notify_recv@src/mux_h2.c:1298 tasklet_wakeup
sc_conn_io_cb 89 50.05us 562.0ns 100.7ms 1.131ms <- qcs_notify_recv@src/mux_quic.c:519 tasklet_wakeup
sc_conn_io_cb 8 19.04us 2.379us 472.5us 59.06us <- sock_conn_iocb@src/sock.c:869 tasklet_wakeup
process_resolvers 50 57.50us 1.149us 1.116ms 22.32us <- wake_expired_tasks@src/task.c:429 task_drop_running
srv_cleanup_idle_conns 8 5.669us 708.0ns 216.6us 27.08us <- wake_expired_tasks@src/task.c:429 task_drop_running
process_stream 4599847 48.79s 10.61us 16.92m 220.7us <- sc_notify@src/stconn.c:1209 task_wakeup
process_stream 4530081 52.82s 11.66us 14.92m 197.6us <- stream_new@src/stream.c:563 task_wakeup
process_stream 15 201.7us 13.45us 31.58ms 2.105ms <- sc_app_chk_snd_conn@src/stconn.c:857 task_wakeup
h1_io_cb 7861205 18.22s 2.317us 2.408m 18.38us <- sock_conn_iocb@src/sock.c:869 tasklet_wakeup
h1_io_cb 474763 1.379s 2.905us 6.578m 831.4us <- conn_subscribe@src/connection.c:732 tasklet_wakeup
h1_io_cb 34830 38.64ms 1.109us 18.85s 541.2us <- h1_takeover@src/mux_h1.c:4085 tasklet_wakeup
h1_io_cb 2561 2.150ms 839.0ns 674.4ms 263.3us <- sock_conn_iocb@src/sock.c:849 tasklet_wakeup
h1_timeout_task 2634 588.5us 223.0ns 890.5ms 338.1us <- h1_release@src/mux_h1.c:1087 task_wakeup
h2_timeout_task 16 7.519us 469.0ns 1.146ms 71.63us <- h2_release@src/mux_h2.c:1191 task_wakeup
h2_io_cb 99601 2.212s 22.21us 19.33s 194.1us <- h2_snd_buf@src/mux_h2.c:6712 tasklet_wakeup
h2_io_cb 79777 146.6ms 1.837us 3.529s 44.24us <- h2c_restart_reading@src/mux_h2.c:856 tasklet_wakeup
h2_io_cb 60698 2.259s 37.21us 4.704s 77.50us <- sock_conn_iocb@src/sock.c:869 tasklet_wakeup
h2_io_cb 5 36.90us 7.380us 2.045ms 409.0us <- h2_do_shutw@src/mux_h2.c:4656 tasklet_wakeup
qc_io_cb 26595 8.007s 301.1us 4.261s 160.2us <- qc_treat_acked_tx_frm@src/xprt_quic.c:1695 tasklet_wakeup
qc_io_cb 7921 5.284s 667.1us 2.171s 274.1us <- qc_stream_desc_ack@src/quic_stream.c:128 tasklet_wakeup
qc_io_cb 6229 5.851s 939.3us 1.856s 297.9us <- h3_snd_buf@src/h3.c:1084 tasklet_wakeup
qc_io_cb 994 699.1ms 703.3us 174.9ms 176.0us <- qcc_release_remote_stream@src/mux_quic.c:1200 tasklet_wakeup
qc_io_cb 65 9.883ms 152.0us 13.33ms 205.1us <- qc_process_timer@src/xprt_quic.c:4602 tasklet_wakeup
qc_io_cb 1 293.5us 293.5us 105.9us 105.9us <- qcs_consume@src/mux_quic.c:800 tasklet_wakeup
qc_io_cb 1 10.87us 10.87us 3.307us 3.307us <- qc_init@src/mux_quic.c:2057 tasklet_wakeup
quic_conn_io_cb 2 2.531ms 1.265ms 2.839us 1.419us <- qc_lstnr_pkt_rcv@src/xprt_quic.c:6184 tasklet_wakeup_after
quic_conn_app_io_cb 61392 2.620s 42.67us 268.0ms 4.365us <- qc_lstnr_pkt_rcv@src/xprt_quic.c:6184 tasklet_wakeup_after
quic_conn_app_io_cb 408 10.56ms 25.88us 124.0ms 303.8us <- qc_process_timer@src/xprt_quic.c:4635 tasklet_wakeup
quic_conn_app_io_cb 2 15.61us 7.806us 103.2us 51.59us <- qc_process_timer@src/xprt_quic.c:4589 tasklet_wakeup
quic_conn_app_io_cb 1 410.6us 410.6us 11.52us 11.52us <- qc_xprt_start@src/xprt_quic.c:7122 tasklet_wakeup
quic_lstnr_dghdlr 62716 409.2ms 6.523us 21.81s 347.8us <- quic_lstnr_dgram_dispatch@src/quic_sock.c:255 tasklet_wakeup
qc_process_timer 410 245.4us 598.0ns 238.5ms 581.7us <- wake_expired_tasks@src/task.c:344 task_wakeup
quic_accept_run 1 7.711us 7.711us 82.28us 82.28us <- quic_accept_push_qc@src/quic_sock.c:458 tasklet_wakeup
1 file changed