Message ID | 20240815084907.167870-1-sunyiqixm@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: do not release sk in sk_wait_event | expand |
On 8/15/24 10:49, sunyiqi wrote: > When investigating the kcm socket UAF which is also found by syzbot, > I found that the root cause of this problem is actually in > sk_wait_event. > > In sk_wait_event, sk is released and relocked and called by > sk_stream_wait_memory. Protocols like tcp, kcm, etc., called it in some > ops function like *sendmsg which will lock the sk at the beginning. > But sk_stream_wait_memory releases sk unexpectedly and destroy > the thread safety. Finally it causes the kcm sk UAF. > > If at the time when a thread(thread A) calls sk_stream_wait_memory > and the other thread(thread B) is waiting for lock in lock_sock, > thread B will successfully get the sk lock as thread A release sk lock > in sk_wait_event. > > The thread B may change the sk which is not thread A expecting. > > As a result, it will lead kernel to the unexpected behavior. Just like > the kcm sk UAF, which is actually cause by sk_wait_event in > sk_stream_wait_memory. > > Previous commit d9dc8b0f8b4e ("net: fix sleeping for sk_wait_event()") > in 2016 seems do not solved this problem. Is it necessary to release > sock in sk_wait_event? Or just delete it to make the protocol ops > thread-secure. As a I wrote previously, please describe the suspected race more clearly, with the exact calls sequence that lead to the UAF. Releasing the socket lock is not enough to cause UAF. Removing the release/lock pair in sk_wait_event() will break many protocols (e.g. TCP) as the stack will not be able to land packets in the receive queue while the socked lock is owned. Cheers, Paolo
On Thu, 15 Aug 2024 12:03:37 +0200, Paolo Abeni wrote: > On 8/15/24 10:49, sunyiqi wrote: > > When investigating the kcm socket UAF which is also found by syzbot, > > I found that the root cause of this problem is actually in > > sk_wait_event. > > > > In sk_wait_event, sk is released and relocked and called by > > sk_stream_wait_memory. Protocols like tcp, kcm, etc., called it in some > > ops function like *sendmsg which will lock the sk at the beginning. > > But sk_stream_wait_memory releases sk unexpectedly and destroy > > the thread safety. Finally it causes the kcm sk UAF. > > > > If at the time when a thread(thread A) calls sk_stream_wait_memory > > and the other thread(thread B) is waiting for lock in lock_sock, > > thread B will successfully get the sk lock as thread A release sk lock > > in sk_wait_event. > > > > The thread B may change the sk which is not thread A expecting. > > > > As a result, it will lead kernel to the unexpected behavior. Just like > > the kcm sk UAF, which is actually cause by sk_wait_event in > > sk_stream_wait_memory. > > > > Previous commit d9dc8b0f8b4e ("net: fix sleeping for sk_wait_event()") > > in 2016 seems do not solved this problem. Is it necessary to release > > sock in sk_wait_event? Or just delete it to make the protocol ops > > thread-secure. > > As a I wrote previously, please describe the suspected race more > clearly, with the exact calls sequence that lead to the UAF. > > Releasing the socket lock is not enough to cause UAF. Thread A Thread B kcm_sendmsg lock_sock kcm_sendmsg lock_sock (blocked & waiting) head = sk->seq_buf sk_stream_wait_memory sk_wait_event release_sock lock_sock (get the lock) head = sk->seq_buf add head to sk->sk_write_queue release_sock lock_sock return err_out to free(head) release_sock return // ... kcm_release // ... __skb_queue_purge(&sk->sk_write_queue) // <--- UAF // ... The repro can be downloaded here: https://syzkaller.appspot.com/bug?extid=b72d86aa5df17ce74c60 > Removing the release/lock pair in sk_wait_event() will break many > protocols (e.g. TCP) as the stack will not be able to land packets in > the receive queue while the socked lock is owned. > > Cheers, > > Paolo > Also a question about it's protocol itself should carefully use low-level kernel API encapsulation to ensure its thread-safety or kernel API should guarantee thread-safety since sk_wait_event or sk_stream_wait_memory used in many cases. Sincerely, Yiqi Sun
On Thu, Aug 15, 2024 at 5:50 PM sunyiqi <sunyiqixm@gmail.com> wrote: > > When investigating the kcm socket UAF which is also found by syzbot, > I found that the root cause of this problem is actually in > sk_wait_event. > > In sk_wait_event, sk is released and relocked and called by > sk_stream_wait_memory. Protocols like tcp, kcm, etc., called it in some > ops function like *sendmsg which will lock the sk at the beginning. > But sk_stream_wait_memory releases sk unexpectedly and destroy > the thread safety. Finally it causes the kcm sk UAF. > > If at the time when a thread(thread A) calls sk_stream_wait_memory > and the other thread(thread B) is waiting for lock in lock_sock, > thread B will successfully get the sk lock as thread A release sk lock > in sk_wait_event. > > The thread B may change the sk which is not thread A expecting. > > As a result, it will lead kernel to the unexpected behavior. Just like > the kcm sk UAF, which is actually cause by sk_wait_event in > sk_stream_wait_memory. > > Previous commit d9dc8b0f8b4e ("net: fix sleeping for sk_wait_event()") > in 2016 seems do not solved this problem. Is it necessary to release > sock in sk_wait_event? Or just delete it to make the protocol ops > thread-secure. > > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") > Link: https://syzkaller.appspot.com/bug?extid=b72d86aa5df17ce74c60 > Signed-off-by: sunyiqi <sunyiqixm@gmail.com> > --- > include/net/sock.h | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/include/net/sock.h b/include/net/sock.h > index cce23ac4d514..08d3b204b019 100644 > --- a/include/net/sock.h > +++ b/include/net/sock.h > @@ -1145,7 +1145,6 @@ static inline void sock_rps_reset_rxhash(struct sock *sk) > > #define sk_wait_event(__sk, __timeo, __condition, __wait) \ > ({ int __rc, __dis = __sk->sk_disconnects; \ > - release_sock(__sk); \ > __rc = __condition; \ > if (!__rc) { \ > *(__timeo) = wait_woken(__wait, \ > @@ -1153,7 +1152,6 @@ static inline void sock_rps_reset_rxhash(struct sock *sk) > *(__timeo)); \ > } \ > sched_annotate_sleep(); \ > - lock_sock(__sk); \ Are you sure that you want the socket lock to be held possibly for a really long time even if it has to wait for the available memory, which means, during this period, other threads trying to access the lock will be blocked? Thanks, Jason
From: sunyiqi <sunyiqixm@gmail.com> Date: Thu, 15 Aug 2024 18:23:29 +0800 > On Thu, 15 Aug 2024 12:03:37 +0200, Paolo Abeni wrote: > > On 8/15/24 10:49, sunyiqi wrote: > > > When investigating the kcm socket UAF which is also found by syzbot, > > > I found that the root cause of this problem is actually in > > > sk_wait_event. > > > > > > In sk_wait_event, sk is released and relocked and called by > > > sk_stream_wait_memory. Protocols like tcp, kcm, etc., called it in some > > > ops function like *sendmsg which will lock the sk at the beginning. > > > But sk_stream_wait_memory releases sk unexpectedly and destroy > > > the thread safety. Finally it causes the kcm sk UAF. > > > > > > If at the time when a thread(thread A) calls sk_stream_wait_memory > > > and the other thread(thread B) is waiting for lock in lock_sock, > > > thread B will successfully get the sk lock as thread A release sk lock > > > in sk_wait_event. > > > > > > The thread B may change the sk which is not thread A expecting. > > > > > > As a result, it will lead kernel to the unexpected behavior. Just like > > > the kcm sk UAF, which is actually cause by sk_wait_event in > > > sk_stream_wait_memory. > > > > > > Previous commit d9dc8b0f8b4e ("net: fix sleeping for sk_wait_event()") > > > in 2016 seems do not solved this problem. Is it necessary to release > > > sock in sk_wait_event? Or just delete it to make the protocol ops > > > thread-secure. > > > > As a I wrote previously, please describe the suspected race more > > clearly, with the exact calls sequence that lead to the UAF. > > > > Releasing the socket lock is not enough to cause UAF. > > Thread A Thread B > kcm_sendmsg > lock_sock kcm_sendmsg > lock_sock (blocked & waiting) > head = sk->seq_buf > sk_stream_wait_memory > sk_wait_event > release_sock > lock_sock (get the lock) > head = sk->seq_buf > add head to sk->sk_write_queue > release_sock > lock_sock return > err_out to free(head) > release_sock > return > // ... > kcm_release > // ... > __skb_queue_purge(&sk->sk_write_queue) // <--- UAF > // ... > > The repro can be downloaded here: > https://syzkaller.appspot.com/bug?extid=b72d86aa5df17ce74c60 When a thread is building a skb with MSG_MORE, another thread must not touch it nor complete building it by queuing it to write queue and setting NULL to kcm->seq_skb. I think the correct fix is simply serialise them with mutex. ---8<--- diff --git a/include/net/kcm.h b/include/net/kcm.h index 90279e5e09a5..441e993be634 100644 --- a/include/net/kcm.h +++ b/include/net/kcm.h @@ -70,6 +70,7 @@ struct kcm_sock { struct work_struct tx_work; struct list_head wait_psock_list; struct sk_buff *seq_skb; + struct mutex tx_mutex; u32 tx_stopped : 1; /* Don't use bit fields here, these are set under different locks */ diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c index 2f191e50d4fc..d4118c796290 100644 --- a/net/kcm/kcmsock.c +++ b/net/kcm/kcmsock.c @@ -755,6 +755,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) !(msg->msg_flags & MSG_MORE) : !!(msg->msg_flags & MSG_EOR); int err = -EPIPE; + mutex_lock(&kcm->tx_mutex); lock_sock(sk); /* Per tcp_sendmsg this should be in poll */ @@ -926,6 +927,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) KCM_STATS_ADD(kcm->stats.tx_bytes, copied); release_sock(sk); + mutex_unlock(&kcm->tx_mutex); return copied; out_error: @@ -951,6 +953,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) sk->sk_write_space(sk); release_sock(sk); + mutex_unlock(&kcm->tx_mutex); return err; } @@ -1204,6 +1207,7 @@ static void init_kcm_sock(struct kcm_sock *kcm, struct kcm_mux *mux) spin_unlock_bh(&mux->lock); INIT_WORK(&kcm->tx_work, kcm_tx_work); + mutex_init(&kcm->tx_mutex); spin_lock_bh(&mux->rx_lock); kcm_rcv_ready(kcm); ---8<--- We can allow another thread to complete building skb by the following but it doesn't sound correct to me. ---8<--- diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c index 2f191e50d4fc..51f2409d6113 100644 --- a/net/kcm/kcmsock.c +++ b/net/kcm/kcmsock.c @@ -748,7 +748,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) { struct sock *sk = sock->sk; struct kcm_sock *kcm = kcm_sk(sk); - struct sk_buff *skb = NULL, *head = NULL; + struct sk_buff *skb = NULL, *head = NULL, *seq_skb; size_t copy, copied = 0; long timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT); int eor = (sock->type == SOCK_DGRAM) ? @@ -763,6 +763,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) if (sk->sk_err) goto out_error; + seq_skb = kcm->seq_skb; if (kcm->seq_skb) { /* Previously opened message */ head = kcm->seq_skb; @@ -888,6 +889,8 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) err = sk_stream_wait_memory(sk, &timeo); if (err) goto out_error; + if (seq_skb && seq_skb != kcm->seq_skb) + goto out_stolen; } if (eor) { @@ -943,7 +946,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) kfree_skb(head); kcm->seq_skb = NULL; } - +out_stolen: err = sk_stream_error(sk, msg->msg_flags, err); /* make sure we wake any epoll edge trigger waiter */ ---8<---
From: Kuniyuki Iwashima <kuniyu@amazon.com> Date: Thu, 15 Aug 2024 12:56:45 -0700 > From: sunyiqi <sunyiqixm@gmail.com> > Date: Thu, 15 Aug 2024 18:23:29 +0800 > > On Thu, 15 Aug 2024 12:03:37 +0200, Paolo Abeni wrote: > > > On 8/15/24 10:49, sunyiqi wrote: > > > > When investigating the kcm socket UAF which is also found by syzbot, > > > > I found that the root cause of this problem is actually in > > > > sk_wait_event. > > > > > > > > In sk_wait_event, sk is released and relocked and called by > > > > sk_stream_wait_memory. Protocols like tcp, kcm, etc., called it in some > > > > ops function like *sendmsg which will lock the sk at the beginning. > > > > But sk_stream_wait_memory releases sk unexpectedly and destroy > > > > the thread safety. Finally it causes the kcm sk UAF. > > > > > > > > If at the time when a thread(thread A) calls sk_stream_wait_memory > > > > and the other thread(thread B) is waiting for lock in lock_sock, > > > > thread B will successfully get the sk lock as thread A release sk lock > > > > in sk_wait_event. > > > > > > > > The thread B may change the sk which is not thread A expecting. > > > > > > > > As a result, it will lead kernel to the unexpected behavior. Just like > > > > the kcm sk UAF, which is actually cause by sk_wait_event in > > > > sk_stream_wait_memory. > > > > > > > > Previous commit d9dc8b0f8b4e ("net: fix sleeping for sk_wait_event()") > > > > in 2016 seems do not solved this problem. Is it necessary to release > > > > sock in sk_wait_event? Or just delete it to make the protocol ops > > > > thread-secure. > > > > > > As a I wrote previously, please describe the suspected race more > > > clearly, with the exact calls sequence that lead to the UAF. > > > > > > Releasing the socket lock is not enough to cause UAF. > > > > Thread A Thread B > > kcm_sendmsg > > lock_sock kcm_sendmsg > > lock_sock (blocked & waiting) > > head = sk->seq_buf > > sk_stream_wait_memory > > sk_wait_event > > release_sock > > lock_sock (get the lock) > > head = sk->seq_buf > > add head to sk->sk_write_queue > > release_sock > > lock_sock return > > err_out to free(head) > > release_sock > > return > > // ... > > kcm_release > > // ... > > __skb_queue_purge(&sk->sk_write_queue) // <--- UAF > > // ... > > > > The repro can be downloaded here: > > https://syzkaller.appspot.com/bug?extid=b72d86aa5df17ce74c60 > > When a thread is building a skb with MSG_MORE, another thread > must not touch it nor complete building it by queuing it to > write queue and setting NULL to kcm->seq_skb. > > I think the correct fix is simply serialise them with mutex. FTR, syzbot was happy with the change below, so I posted it officially. https://lore.kernel.org/netdev/20240815220437.69511-1-kuniyu@amazon.com/ > ---8<--- > diff --git a/include/net/kcm.h b/include/net/kcm.h > index 90279e5e09a5..441e993be634 100644 > --- a/include/net/kcm.h > +++ b/include/net/kcm.h > @@ -70,6 +70,7 @@ struct kcm_sock { > struct work_struct tx_work; > struct list_head wait_psock_list; > struct sk_buff *seq_skb; > + struct mutex tx_mutex; > u32 tx_stopped : 1; > > /* Don't use bit fields here, these are set under different locks */ > diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c > index 2f191e50d4fc..d4118c796290 100644 > --- a/net/kcm/kcmsock.c > +++ b/net/kcm/kcmsock.c > @@ -755,6 +755,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) > !(msg->msg_flags & MSG_MORE) : !!(msg->msg_flags & MSG_EOR); > int err = -EPIPE; > > + mutex_lock(&kcm->tx_mutex); > lock_sock(sk); > > /* Per tcp_sendmsg this should be in poll */ > @@ -926,6 +927,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) > KCM_STATS_ADD(kcm->stats.tx_bytes, copied); > > release_sock(sk); > + mutex_unlock(&kcm->tx_mutex); > return copied; > > out_error: > @@ -951,6 +953,7 @@ static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) > sk->sk_write_space(sk); > > release_sock(sk); > + mutex_unlock(&kcm->tx_mutex); > return err; > } > > @@ -1204,6 +1207,7 @@ static void init_kcm_sock(struct kcm_sock *kcm, struct kcm_mux *mux) > spin_unlock_bh(&mux->lock); > > INIT_WORK(&kcm->tx_work, kcm_tx_work); > + mutex_init(&kcm->tx_mutex); > > spin_lock_bh(&mux->rx_lock); > kcm_rcv_ready(kcm); > ---8<---
Hello, kernel test robot noticed a -100.0% regression of stress-ng.sock.ops_per_sec on: commit: 485a7c1b69390b4db80d68c086dc5b619465c9c6 ("[PATCH] net: do not release sk in sk_wait_event") url: https://github.com/intel-lab-lkp/linux/commits/sunyiqi/net-do-not-release-sk-in-sk_wait_event/20240815-175112 base: https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git a9c60712d71ff07197b2982899b9db28ed548ded patch link: https://lore.kernel.org/all/20240815084907.167870-1-sunyiqixm@gmail.com/ patch subject: [PATCH] net: do not release sk in sk_wait_event testcase: stress-ng test machine: 224 threads 2 sockets Intel(R) Xeon(R) Platinum 8480CTDX (Sapphire Rapids) with 256G memory parameters: nr_threads: 100% testtime: 60s test: sock cpufreq_governor: performance If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <oliver.sang@intel.com> | Closes: https://lore.kernel.org/oe-lkp/202408211524.546a8e56-oliver.sang@intel.com Details are as below: --------------------------------------------------------------------------------------------------> The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20240821/202408211524.546a8e56-oliver.sang@intel.com ========================================================================================= compiler/cpufreq_governor/kconfig/nr_threads/rootfs/tbox_group/test/testcase/testtime: gcc-12/performance/x86_64-rhel-8.3/100%/debian-12-x86_64-20240206.cgz/lkp-spr-r02/sock/stress-ng/60s commit: a9c60712d7 ("Merge branch 'uapi-net-sched-cxgb4-fix-wflex-array-member-not-at-end-warning'") 485a7c1b69 ("net: do not release sk in sk_wait_event") a9c60712d71ff071 485a7c1b69390b4db80d68c086d ---------------- --------------------------- %stddev %change %stddev \ | \ 7918 +172.2% 21554 uptime.idle 4.039e+08 ± 4% +3375.4% 1.404e+10 cpuidle..time 3139094 ± 54% -65.0% 1097704 cpuidle..usage 93316867 -99.6% 370101 ± 18% numa-numastat.node0.local_node 93427347 -99.4% 517330 ± 12% numa-numastat.node0.numa_hit 92697012 -99.6% 339810 ± 20% numa-numastat.node1.local_node 92828493 -99.5% 424633 ± 15% numa-numastat.node1.numa_hit 58497 ± 7% -100.0% 7.17 ± 84% perf-c2c.DRAM.local 2382 ± 7% -98.9% 27.17 ± 20% perf-c2c.DRAM.remote 6334 ± 6% -99.5% 28.67 ± 18% perf-c2c.HITM.local 539.33 ± 5% -96.8% 17.50 ± 31% perf-c2c.HITM.remote 6873 ± 6% -99.3% 46.17 ± 18% perf-c2c.HITM.total 5.25 ± 10% +1799.0% 99.75 vmstat.cpu.id 91.82 -99.9% 0.14 ± 7% vmstat.cpu.sy 357.35 -99.2% 2.68 ± 50% vmstat.procs.r 27285633 -100.0% 2512 ± 4% vmstat.system.cs 529503 -95.4% 24285 ± 7% vmstat.system.in 3.05 ± 17% +96.6 99.67 mpstat.cpu.all.idle% 0.00 ±100% +0.0 0.02 ± 19% mpstat.cpu.all.iowait% 0.48 -0.4 0.04 ± 3% mpstat.cpu.all.irq% 19.79 -19.8 0.00 ± 36% mpstat.cpu.all.soft% 73.65 -73.6 0.08 mpstat.cpu.all.sys% 3.02 -2.8 0.18 mpstat.cpu.all.usr% 12.67 ± 56% -92.1% 1.00 mpstat.max_utilization.seconds 100.00 -97.6% 2.35 ± 2% mpstat.max_utilization_pct 512298 ± 18% -53.4% 238782 ± 5% numa-meminfo.node0.Mapped 24524 ± 39% +62.3% 39800 ± 5% numa-meminfo.node0.PageTables 566127 ± 3% -95.8% 24008 ± 5% numa-meminfo.node1.Active 566113 ± 3% -95.8% 23992 ± 5% numa-meminfo.node1.Active(anon) 2747024 ± 31% -83.3% 458096 ± 39% numa-meminfo.node1.Inactive 2746948 ± 31% -83.3% 457980 ± 39% numa-meminfo.node1.Inactive(anon) 967060 ± 11% -99.0% 10023 ±121% numa-meminfo.node1.Mapped 27090 ± 35% -65.6% 9308 ± 17% numa-meminfo.node1.PageTables 2794844 ± 30% -99.1% 26390 ± 6% numa-meminfo.node1.Shmem 569024 ± 2% -95.0% 28197 meminfo.Active 568987 ± 2% -95.0% 28165 meminfo.Active(anon) 6545198 ± 16% -49.1% 3334716 meminfo.Cached 8122714 ± 13% -39.8% 4892326 meminfo.Committed_AS 3879368 ± 24% -66.5% 1297885 ± 12% meminfo.Inactive 3879138 ± 24% -66.5% 1297660 ± 12% meminfo.Inactive(anon) 1477918 ± 2% -83.2% 248731 meminfo.Mapped 10781439 ± 8% -28.0% 7762846 meminfo.Memused 3461321 ± 30% -92.8% 250853 meminfo.Shmem 10898889 ± 8% -15.6% 9202079 meminfo.max_used_kB 834112 -100.0% 0.00 stress-ng.sock.byte_average_in_queue_length 798960 ± 35% +224.0% 2588527 stress-ng.sock.byte_average_out_queue_length 173337 -100.0% 12.46 stress-ng.sock.messages_sent_per_sec 4561553 -100.0% 448.00 stress-ng.sock.ops 76023 -100.0% 7.34 stress-ng.sock.ops_per_sec 8.575e+08 -100.0% 64.83 ± 14% stress-ng.time.involuntary_context_switches 96104 -4.0% 92291 stress-ng.time.minor_page_faults 17471 -100.0% 1.00 stress-ng.time.percent_of_cpu_this_job_got 10191 -100.0% 0.71 ± 3% stress-ng.time.system_time 334.28 -99.9% 0.17 ± 5% stress-ng.time.user_time 8.622e+08 -100.0% 2163 stress-ng.time.voluntary_context_switches 128351 ± 18% -54.0% 59054 ± 5% numa-vmstat.node0.nr_mapped 6176 ± 40% +60.3% 9903 ± 5% numa-vmstat.node0.nr_page_table_pages 93396523 -99.4% 517565 ± 12% numa-vmstat.node0.numa_hit 93286044 -99.6% 370336 ± 18% numa-vmstat.node0.numa_local 140292 ± 3% -95.7% 5974 ± 6% numa-vmstat.node1.nr_active_anon 686202 ± 31% -83.3% 114574 ± 39% numa-vmstat.node1.nr_inactive_anon 240443 ± 12% -98.9% 2638 ±117% numa-vmstat.node1.nr_mapped 6791 ± 35% -65.8% 2321 ± 17% numa-vmstat.node1.nr_page_table_pages 696959 ± 30% -99.1% 6577 ± 6% numa-vmstat.node1.nr_shmem 140290 ± 3% -95.7% 5974 ± 6% numa-vmstat.node1.nr_zone_active_anon 686199 ± 31% -83.3% 114573 ± 39% numa-vmstat.node1.nr_zone_inactive_anon 92804117 -99.5% 423580 ± 15% numa-vmstat.node1.numa_hit 92672638 -99.6% 338761 ± 20% numa-vmstat.node1.numa_local 140679 ± 2% -94.9% 7154 proc-vmstat.nr_active_anon 1632998 ± 16% -49.0% 833351 proc-vmstat.nr_file_pages 968473 ± 23% -66.7% 322808 ± 12% proc-vmstat.nr_inactive_anon 367618 ± 2% -83.2% 61923 proc-vmstat.nr_mapped 862027 ± 30% -92.8% 62383 proc-vmstat.nr_shmem 38965 -6.8% 36332 proc-vmstat.nr_slab_reclaimable 124313 -6.0% 116811 proc-vmstat.nr_slab_unreclaimable 140679 ± 2% -94.9% 7154 proc-vmstat.nr_zone_active_anon 968473 ± 23% -66.7% 322808 ± 12% proc-vmstat.nr_zone_inactive_anon 246757 ± 18% -94.8% 12714 ± 44% proc-vmstat.numa_hint_faults 131080 ± 12% -99.4% 810.83 ± 79% proc-vmstat.numa_hint_faults_local 1.861e+08 -99.5% 944616 proc-vmstat.numa_hit 1.859e+08 -99.6% 712564 proc-vmstat.numa_local 21455 ± 29% -44.5% 11903 ± 44% proc-vmstat.numa_pages_migrated 704523 ± 13% -91.2% 62163 ± 44% proc-vmstat.numa_pte_updates 1.471e+09 -99.9% 1226836 ± 3% proc-vmstat.pgalloc_normal 1170858 ± 4% -51.4% 569424 proc-vmstat.pgfault 1.469e+09 -99.9% 1228672 ± 6% proc-vmstat.pgfree 21455 ± 29% -44.5% 11903 ± 44% proc-vmstat.pgmigrate_success 1.51 -36.8% 0.95 ± 4% perf-stat.i.MPKI 9.383e+10 -99.4% 6.083e+08 perf-stat.i.branch-instructions 0.43 +3.4 3.79 perf-stat.i.branch-miss-rate% 3.712e+08 -91.8% 30507919 perf-stat.i.branch-misses 19.35 -13.1 6.22 ± 6% perf-stat.i.cache-miss-rate% 6.833e+08 -99.8% 1669451 ± 10% perf-stat.i.cache-misses 3.385e+09 -99.6% 12178757 perf-stat.i.cache-references 28327876 -100.0% 2265 perf-stat.i.context-switches 1.35 +29.9% 1.75 perf-stat.i.cpi 6.377e+11 -99.6% 2.637e+09 perf-stat.i.cpu-cycles 1052 ± 7% -71.3% 301.76 ± 2% perf-stat.i.cpu-migrations 1429 ± 6% +394.8% 7073 ± 13% perf-stat.i.cycles-between-cache-misses 4.857e+11 -99.4% 2.988e+09 perf-stat.i.instructions 0.76 +10.1% 0.84 perf-stat.i.ipc 125.84 -98.2% 2.24 ± 4% perf-stat.i.metric.K/sec 17986 ± 6% -59.8% 7222 ± 2% perf-stat.i.minor-faults 17986 ± 6% -59.8% 7222 ± 2% perf-stat.i.page-faults 1.43 -61.5% 0.55 ± 11% perf-stat.overall.MPKI 0.39 +4.6 5.02 perf-stat.overall.branch-miss-rate% 20.31 -6.8 13.48 ± 10% perf-stat.overall.cache-miss-rate% 1.32 -33.0% 0.88 perf-stat.overall.cpi 925.76 +75.9% 1628 ± 10% perf-stat.overall.cycles-between-cache-misses 0.76 +49.3% 1.13 perf-stat.overall.ipc 9.15e+10 -99.3% 5.959e+08 perf-stat.ps.branch-instructions 3.613e+08 -91.7% 29926582 perf-stat.ps.branch-misses 6.756e+08 -99.8% 1608044 ± 10% perf-stat.ps.cache-misses 3.326e+09 -99.6% 11926187 perf-stat.ps.cache-references 27798409 -100.0% 2219 perf-stat.ps.context-switches 6.254e+11 -99.6% 2.588e+09 perf-stat.ps.cpu-cycles 941.05 ± 8% -68.5% 296.14 ± 2% perf-stat.ps.cpu-migrations 4.739e+11 -99.4% 2.928e+09 perf-stat.ps.instructions 16959 ± 4% -59.0% 6953 ± 2% perf-stat.ps.minor-faults 16960 ± 4% -59.0% 6953 ± 2% perf-stat.ps.page-faults 2.9e+13 -99.4% 1.818e+11 perf-stat.total.instructions 5204371 -100.0% 1604 ± 7% sched_debug.cfs_rq:/.avg_vruntime.avg 7682820 ± 15% -99.6% 30824 ± 23% sched_debug.cfs_rq:/.avg_vruntime.max 4090321 ± 7% -100.0% 143.87 ± 33% sched_debug.cfs_rq:/.avg_vruntime.min 255159 ± 25% -98.6% 3519 ± 11% sched_debug.cfs_rq:/.avg_vruntime.stddev 0.90 ± 2% -93.8% 0.06 ± 18% sched_debug.cfs_rq:/.h_nr_running.avg 0.50 -100.0% 0.00 sched_debug.cfs_rq:/.h_nr_running.min 0.34 ± 2% -32.5% 0.23 ± 10% sched_debug.cfs_rq:/.h_nr_running.stddev 2382 ± 11% +1019.8% 26682 ±189% sched_debug.cfs_rq:/.load.stddev 30048 ± 68% +181.8% 84679 ± 7% sched_debug.cfs_rq:/.load_avg.max 3973 ± 74% +194.0% 11682 ± 32% sched_debug.cfs_rq:/.load_avg.stddev 5204371 -100.0% 1604 ± 7% sched_debug.cfs_rq:/.min_vruntime.avg 7682820 ± 15% -99.6% 30823 ± 23% sched_debug.cfs_rq:/.min_vruntime.max 4090321 ± 7% -100.0% 143.87 ± 33% sched_debug.cfs_rq:/.min_vruntime.min 255159 ± 25% -98.6% 3519 ± 11% sched_debug.cfs_rq:/.min_vruntime.stddev 0.53 -89.4% 0.06 ± 18% sched_debug.cfs_rq:/.nr_running.avg 0.50 -100.0% 0.00 sched_debug.cfs_rq:/.nr_running.min 0.12 ± 5% +99.4% 0.23 ± 10% sched_debug.cfs_rq:/.nr_running.stddev 5.33 ± 67% +173.4% 14.56 ± 32% sched_debug.cfs_rq:/.removed.runnable_avg.avg 247.25 ± 13% +121.9% 548.67 ± 3% sched_debug.cfs_rq:/.removed.runnable_avg.max 32.60 ± 40% +156.1% 83.51 ± 16% sched_debug.cfs_rq:/.removed.runnable_avg.stddev 5.33 ± 67% +173.4% 14.56 ± 32% sched_debug.cfs_rq:/.removed.util_avg.avg 247.25 ± 13% +121.9% 548.67 ± 3% sched_debug.cfs_rq:/.removed.util_avg.max 32.60 ± 40% +156.1% 83.51 ± 16% sched_debug.cfs_rq:/.removed.util_avg.stddev 936.50 -83.3% 156.14 ± 8% sched_debug.cfs_rq:/.runnable_avg.avg 2094 ± 3% -46.0% 1130 ± 7% sched_debug.cfs_rq:/.runnable_avg.max 586.33 ± 17% -100.0% 0.00 sched_debug.cfs_rq:/.runnable_avg.min 188.89 ± 5% +32.9% 251.07 ± 6% sched_debug.cfs_rq:/.runnable_avg.stddev 585.27 -73.5% 155.25 ± 8% sched_debug.cfs_rq:/.util_avg.avg 438.83 ± 22% -100.0% 0.00 sched_debug.cfs_rq:/.util_avg.min 126.75 ± 7% +97.0% 249.71 ± 6% sched_debug.cfs_rq:/.util_avg.stddev 652.42 -98.7% 8.73 ± 55% sched_debug.cfs_rq:/.util_est.avg 1409 ± 7% -62.1% 533.50 ± 10% sched_debug.cfs_rq:/.util_est.max 400.25 ± 6% -100.0% 0.00 sched_debug.cfs_rq:/.util_est.min 147.08 ± 9% -57.9% 61.85 ± 25% sched_debug.cfs_rq:/.util_est.stddev 519373 +76.2% 915125 sched_debug.cpu.avg_idle.avg 1258453 ± 8% +28.1% 1611863 ± 21% sched_debug.cpu.avg_idle.max 193107 ± 5% -12.7% 168533 ± 5% sched_debug.cpu.avg_idle.stddev 69255 -43.3% 39244 sched_debug.cpu.clock.avg 69321 -43.4% 39260 sched_debug.cpu.clock.max 69168 -43.3% 39220 sched_debug.cpu.clock.min 42.19 ± 9% -80.6% 8.20 ± 6% sched_debug.cpu.clock.stddev 62909 -37.9% 39085 sched_debug.cpu.clock_task.avg 65633 -40.2% 39228 sched_debug.cpu.clock_task.max 48891 -48.9% 24973 ± 2% sched_debug.cpu.clock_task.min 1059 -9.4% 959.90 ± 3% sched_debug.cpu.clock_task.stddev 3521 -94.1% 206.83 ± 19% sched_debug.cpu.curr->pid.avg 6093 ± 4% -36.7% 3854 sched_debug.cpu.curr->pid.max 1825 ± 45% -100.0% 0.00 sched_debug.cpu.curr->pid.min 582.09 ± 8% +44.5% 841.37 ± 9% sched_debug.cpu.curr->pid.stddev 625107 ± 6% +34.8% 842597 ± 24% sched_debug.cpu.max_idle_balance_cost.max 11913 ± 39% +148.1% 29559 ± 44% sched_debug.cpu.max_idle_balance_cost.stddev 0.00 ± 6% -72.2% 0.00 ± 17% sched_debug.cpu.next_balance.stddev 0.90 ± 2% -93.7% 0.06 ± 20% sched_debug.cpu.nr_running.avg 0.50 -100.0% 0.00 sched_debug.cpu.nr_running.min 0.33 ± 2% -30.6% 0.23 ± 11% sched_debug.cpu.nr_running.stddev 3783489 -100.0% 601.41 sched_debug.cpu.nr_switches.avg 4086725 -99.7% 12429 ± 9% sched_debug.cpu.nr_switches.max 1967335 ± 16% -100.0% 115.67 ± 11% sched_debug.cpu.nr_switches.min 225133 ± 6% -99.5% 1176 ± 5% sched_debug.cpu.nr_switches.stddev 69172 -43.3% 39230 sched_debug.cpu_clk 68115 -44.0% 38175 sched_debug.ktime 70010 -42.8% 40067 sched_debug.sched_clk 73.23 ± 2% -73.2 0.00 perf-profile.calltrace.cycles-pp.stress_sock 49.51 -49.5 0.00 perf-profile.calltrace.cycles-pp.__sys_sendto.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe.__send 47.66 -47.7 0.00 perf-profile.calltrace.cycles-pp.tcp_sendmsg.__sys_sendto.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe 44.41 -44.4 0.00 perf-profile.calltrace.cycles-pp.tcp_sendmsg_locked.tcp_sendmsg.__sys_sendto.__x64_sys_sendto.do_syscall_64 38.68 -38.7 0.00 perf-profile.calltrace.cycles-pp.recv.stress_sock 38.10 -38.1 0.00 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.recv.stress_sock 38.02 -38.0 0.00 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.recv.stress_sock 37.20 -37.2 0.00 perf-profile.calltrace.cycles-pp.__sys_recvfrom.__x64_sys_recvfrom.do_syscall_64.entry_SYSCALL_64_after_hwframe.recv 36.42 -36.4 0.00 perf-profile.calltrace.cycles-pp.__x64_sys_recvfrom.do_syscall_64.entry_SYSCALL_64_after_hwframe.recv.stress_sock 36.27 -36.3 0.00 perf-profile.calltrace.cycles-pp.sock_recvmsg.__sys_recvfrom.__x64_sys_recvfrom.do_syscall_64.entry_SYSCALL_64_after_hwframe 35.94 -35.9 0.00 perf-profile.calltrace.cycles-pp.inet_recvmsg.sock_recvmsg.__sys_recvfrom.__x64_sys_recvfrom.do_syscall_64 35.87 -35.9 0.00 perf-profile.calltrace.cycles-pp.tcp_recvmsg.inet_recvmsg.sock_recvmsg.__sys_recvfrom.__x64_sys_recvfrom 35.06 -35.1 0.00 perf-profile.calltrace.cycles-pp.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg.sock_recvmsg.__sys_recvfrom 33.43 ± 5% -33.4 0.00 perf-profile.calltrace.cycles-pp.__send.stress_sock 32.80 ± 5% -32.8 0.00 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.__send.stress_sock 32.72 ± 5% -32.7 0.00 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.__send.stress_sock 29.87 ± 5% -29.9 0.00 perf-profile.calltrace.cycles-pp.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe.__send.stress_sock 23.84 ± 8% -23.8 0.00 perf-profile.calltrace.cycles-pp.__send 22.48 ± 8% -22.5 0.00 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.__send 22.43 ± 8% -22.4 0.00 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.__send 19.73 ± 8% -19.7 0.00 perf-profile.calltrace.cycles-pp.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe.__send 18.54 -18.5 0.00 perf-profile.calltrace.cycles-pp.__local_bh_enable_ip.__dev_queue_xmit.ip_finish_output2.__ip_queue_xmit.__tcp_transmit_skb 18.49 -18.5 0.00 perf-profile.calltrace.cycles-pp.do_softirq.__local_bh_enable_ip.__dev_queue_xmit.ip_finish_output2.__ip_queue_xmit 18.27 -18.3 0.00 perf-profile.calltrace.cycles-pp.handle_softirqs.do_softirq.__local_bh_enable_ip.__dev_queue_xmit.ip_finish_output2 17.36 -17.4 0.00 perf-profile.calltrace.cycles-pp.net_rx_action.handle_softirqs.do_softirq.__local_bh_enable_ip.__dev_queue_xmit 16.87 -16.9 0.00 perf-profile.calltrace.cycles-pp.__napi_poll.net_rx_action.handle_softirqs.do_softirq.__local_bh_enable_ip 16.86 -16.9 0.00 perf-profile.calltrace.cycles-pp.__tcp_push_pending_frames.tcp_sendmsg_locked.tcp_sendmsg.__sys_sendto.__x64_sys_sendto 16.78 -16.8 0.00 perf-profile.calltrace.cycles-pp.process_backlog.__napi_poll.net_rx_action.handle_softirqs.do_softirq 16.70 -16.7 0.00 perf-profile.calltrace.cycles-pp.tcp_write_xmit.__tcp_push_pending_frames.tcp_sendmsg_locked.tcp_sendmsg.__sys_sendto 16.21 -16.2 0.00 perf-profile.calltrace.cycles-pp.__netif_receive_skb_one_core.process_backlog.__napi_poll.net_rx_action.handle_softirqs 14.79 -14.8 0.00 perf-profile.calltrace.cycles-pp.ip_local_deliver_finish.__netif_receive_skb_one_core.process_backlog.__napi_poll.net_rx_action 14.37 -14.4 0.00 perf-profile.calltrace.cycles-pp.ip_protocol_deliver_rcu.ip_local_deliver_finish.__netif_receive_skb_one_core.process_backlog.__napi_poll 14.10 -14.1 0.00 perf-profile.calltrace.cycles-pp.__tcp_transmit_skb.tcp_write_xmit.__tcp_push_pending_frames.tcp_sendmsg_locked.tcp_sendmsg 14.10 -14.1 0.00 perf-profile.calltrace.cycles-pp.tcp_v4_rcv.ip_protocol_deliver_rcu.ip_local_deliver_finish.__netif_receive_skb_one_core.process_backlog 13.28 -13.3 0.00 perf-profile.calltrace.cycles-pp.__dev_queue_xmit.ip_finish_output2.__ip_queue_xmit.__tcp_transmit_skb.tcp_write_xmit 13.14 -13.1 0.00 perf-profile.calltrace.cycles-pp.sk_page_frag_refill.tcp_sendmsg_locked.tcp_sendmsg.__sys_sendto.__x64_sys_sendto 13.12 -13.1 0.00 perf-profile.calltrace.cycles-pp.skb_page_frag_refill.sk_page_frag_refill.tcp_sendmsg_locked.tcp_sendmsg.__sys_sendto 13.04 -13.0 0.00 perf-profile.calltrace.cycles-pp.__ip_queue_xmit.__tcp_transmit_skb.tcp_write_xmit.__tcp_push_pending_frames.tcp_sendmsg_locked 12.72 -12.7 0.00 perf-profile.calltrace.cycles-pp.alloc_pages_mpol_noprof.skb_page_frag_refill.sk_page_frag_refill.tcp_sendmsg_locked.tcp_sendmsg 12.70 -12.7 0.00 perf-profile.calltrace.cycles-pp.__alloc_pages_noprof.alloc_pages_mpol_noprof.skb_page_frag_refill.sk_page_frag_refill.tcp_sendmsg_locked 12.65 -12.7 0.00 perf-profile.calltrace.cycles-pp.get_page_from_freelist.__alloc_pages_noprof.alloc_pages_mpol_noprof.skb_page_frag_refill.sk_page_frag_refill 12.39 -12.4 0.00 perf-profile.calltrace.cycles-pp.ip_finish_output2.__ip_queue_xmit.__tcp_transmit_skb.tcp_write_xmit.__tcp_push_pending_frames 12.21 -12.2 0.00 perf-profile.calltrace.cycles-pp.rmqueue.get_page_from_freelist.__alloc_pages_noprof.alloc_pages_mpol_noprof.skb_page_frag_refill 12.10 -12.1 0.00 perf-profile.calltrace.cycles-pp.__rmqueue_pcplist.rmqueue.get_page_from_freelist.__alloc_pages_noprof.alloc_pages_mpol_noprof 12.06 -12.1 0.00 perf-profile.calltrace.cycles-pp.rmqueue_bulk.__rmqueue_pcplist.rmqueue.get_page_from_freelist.__alloc_pages_noprof 11.92 ± 2% -11.9 0.00 perf-profile.calltrace.cycles-pp.tcp_v4_do_rcv.tcp_v4_rcv.ip_protocol_deliver_rcu.ip_local_deliver_finish.__netif_receive_skb_one_core 11.72 -11.7 0.00 perf-profile.calltrace.cycles-pp._raw_spin_lock_irqsave.rmqueue_bulk.__rmqueue_pcplist.rmqueue.get_page_from_freelist 11.68 -11.7 0.00 perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock_irqsave.rmqueue_bulk.__rmqueue_pcplist.rmqueue 11.40 ± 2% -11.4 0.00 perf-profile.calltrace.cycles-pp.tcp_rcv_established.tcp_v4_do_rcv.tcp_v4_rcv.ip_protocol_deliver_rcu.ip_local_deliver_finish 9.77 -9.8 0.00 perf-profile.calltrace.cycles-pp.__tcp_transmit_skb.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg.sock_recvmsg 9.08 -9.1 0.00 perf-profile.calltrace.cycles-pp.__ip_queue_xmit.__tcp_transmit_skb.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg 8.90 -8.9 0.00 perf-profile.calltrace.cycles-pp.skb_attempt_defer_free.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg.sock_recvmsg 8.86 -8.9 0.00 perf-profile.calltrace.cycles-pp.skb_release_data.skb_attempt_defer_free.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg 8.71 -8.7 0.00 perf-profile.calltrace.cycles-pp._raw_spin_lock_irqsave.free_pcppages_bulk.free_unref_page_commit.free_unref_page.skb_release_data 8.67 -8.7 0.00 perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock_irqsave.free_pcppages_bulk.free_unref_page_commit.free_unref_page 8.64 -8.6 0.00 perf-profile.calltrace.cycles-pp.free_unref_page.skb_release_data.skb_attempt_defer_free.tcp_recvmsg_locked.tcp_recvmsg 8.48 -8.5 0.00 perf-profile.calltrace.cycles-pp.free_unref_page_commit.free_unref_page.skb_release_data.skb_attempt_defer_free.tcp_recvmsg_locked 8.41 -8.4 0.00 perf-profile.calltrace.cycles-pp.ip_finish_output2.__ip_queue_xmit.__tcp_transmit_skb.tcp_recvmsg_locked.tcp_recvmsg 8.33 -8.3 0.00 perf-profile.calltrace.cycles-pp.free_pcppages_bulk.free_unref_page_commit.free_unref_page.skb_release_data.skb_attempt_defer_free 8.13 -8.1 0.00 perf-profile.calltrace.cycles-pp.__dev_queue_xmit.ip_finish_output2.__ip_queue_xmit.__tcp_transmit_skb.tcp_recvmsg_locked 6.78 -6.8 0.00 perf-profile.calltrace.cycles-pp.tcp_data_queue.tcp_rcv_established.tcp_v4_do_rcv.tcp_v4_rcv.ip_protocol_deliver_rcu 6.51 -6.5 0.00 perf-profile.calltrace.cycles-pp.skb_copy_datagram_iter.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg.sock_recvmsg 6.46 -6.5 0.00 perf-profile.calltrace.cycles-pp.__skb_datagram_iter.skb_copy_datagram_iter.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg 6.41 -6.4 0.00 perf-profile.calltrace.cycles-pp.sk_wait_data.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg.sock_recvmsg 5.78 -5.8 0.00 perf-profile.calltrace.cycles-pp.wait_woken.sk_wait_data.tcp_recvmsg_locked.tcp_recvmsg.inet_recvmsg 5.50 -5.5 0.00 perf-profile.calltrace.cycles-pp.schedule_timeout.wait_woken.sk_wait_data.tcp_recvmsg_locked.tcp_recvmsg 5.50 -5.5 0.00 perf-profile.calltrace.cycles-pp._copy_to_iter.__skb_datagram_iter.skb_copy_datagram_iter.tcp_recvmsg_locked.tcp_recvmsg 5.27 -5.3 0.00 perf-profile.calltrace.cycles-pp.schedule.schedule_timeout.wait_woken.sk_wait_data.tcp_recvmsg_locked 5.10 -5.1 0.00 perf-profile.calltrace.cycles-pp.__schedule.schedule.schedule_timeout.wait_woken.sk_wait_data 0.00 +0.5 0.53 ± 7% perf-profile.calltrace.cycles-pp.__cmd_record.cmd_record.run_builtin.main 0.00 +0.5 0.53 ± 7% perf-profile.calltrace.cycles-pp.cmd_record.run_builtin.main 0.00 +0.6 0.64 ± 16% perf-profile.calltrace.cycles-pp.next_uptodate_folio.filemap_map_pages.do_read_fault.do_fault.__handle_mm_fault 0.00 +0.7 0.67 ± 15% perf-profile.calltrace.cycles-pp.__do_set_cpus_allowed.__set_cpus_allowed_ptr_locked.__set_cpus_allowed_ptr.__sched_setaffinity.sched_setaffinity 0.00 +0.7 0.69 ± 12% perf-profile.calltrace.cycles-pp.rcu_gp_fqs_loop.rcu_gp_kthread.kthread.ret_from_fork.ret_from_fork_asm 0.00 +0.7 0.70 ± 12% perf-profile.calltrace.cycles-pp.ct_idle_exit.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle 0.00 +0.7 0.71 ± 14% perf-profile.calltrace.cycles-pp.sched_balance_find_dst_cpu.select_task_rq_fair.sched_exec.bprm_execve.do_execveat_common 0.00 +0.7 0.71 ± 14% perf-profile.calltrace.cycles-pp.sched_balance_find_dst_group.sched_balance_find_dst_cpu.select_task_rq_fair.sched_exec.bprm_execve 0.00 +0.7 0.71 ± 14% perf-profile.calltrace.cycles-pp.select_task_rq_fair.sched_exec.bprm_execve.do_execveat_common.__x64_sys_execve 0.00 +0.7 0.71 ± 15% perf-profile.calltrace.cycles-pp.proc_reg_read_iter.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +0.7 0.71 ± 15% perf-profile.calltrace.cycles-pp.seq_read_iter.proc_reg_read_iter.vfs_read.ksys_read.do_syscall_64 0.00 +0.7 0.72 ± 14% perf-profile.calltrace.cycles-pp.sched_exec.bprm_execve.do_execveat_common.__x64_sys_execve.do_syscall_64 0.00 +0.7 0.72 ± 9% perf-profile.calltrace.cycles-pp.show_stat.seq_read_iter.vfs_read.ksys_read.do_syscall_64 0.00 +0.7 0.75 ± 19% perf-profile.calltrace.cycles-pp.pipe_write.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +0.8 0.76 ± 8% perf-profile.calltrace.cycles-pp.rcu_gp_kthread.kthread.ret_from_fork.ret_from_fork_asm 0.00 +0.8 0.77 ± 19% perf-profile.calltrace.cycles-pp.__set_cpus_allowed_ptr_locked.__set_cpus_allowed_ptr.__sched_setaffinity.sched_setaffinity.__x64_sys_sched_setaffinity 0.00 +0.8 0.77 ± 13% perf-profile.calltrace.cycles-pp.__x64_sys_vfork.do_syscall_64.entry_SYSCALL_64_after_hwframe.__vfork 0.00 +0.8 0.77 ± 13% perf-profile.calltrace.cycles-pp.kernel_clone.__x64_sys_vfork.do_syscall_64.entry_SYSCALL_64_after_hwframe.__vfork 0.00 +0.8 0.78 ± 13% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.__vfork 0.00 +0.8 0.78 ± 13% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.__vfork 0.00 +0.8 0.78 ± 15% perf-profile.calltrace.cycles-pp.pipe_read.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +0.8 0.78 ± 15% perf-profile.calltrace.cycles-pp.rcu_core.handle_softirqs.__irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt 0.00 +0.8 0.80 ± 18% perf-profile.calltrace.cycles-pp.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 0.00 +0.8 0.80 ± 21% perf-profile.calltrace.cycles-pp.update_rq_clock_task._nohz_idle_balance.do_idle.cpu_startup_entry.start_secondary 0.00 +0.8 0.81 ± 18% perf-profile.calltrace.cycles-pp.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 0.00 +0.8 0.84 ± 17% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 0.00 +0.8 0.84 ± 17% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.write 0.00 +0.9 0.85 ± 18% perf-profile.calltrace.cycles-pp.sched_tick.update_process_times.tick_nohz_handler.__hrtimer_run_queues.hrtimer_interrupt 0.00 +0.9 0.89 ± 18% perf-profile.calltrace.cycles-pp.write 0.00 +0.9 0.90 ± 12% perf-profile.calltrace.cycles-pp.exit_mmap.mmput.exit_mm.do_exit.do_group_exit 0.00 +0.9 0.90 ± 12% perf-profile.calltrace.cycles-pp.mmput.exit_mm.do_exit.do_group_exit.__x64_sys_exit_group 0.00 +0.9 0.90 ± 12% perf-profile.calltrace.cycles-pp.exit_mm.do_exit.do_group_exit.__x64_sys_exit_group.x64_sys_call 0.00 +0.9 0.92 ± 10% perf-profile.calltrace.cycles-pp.tick_nohz_restart_sched_tick.tick_nohz_idle_exit.do_idle.cpu_startup_entry.start_secondary 0.00 +0.9 0.93 ± 35% perf-profile.calltrace.cycles-pp.read.readn.perf_evsel__read.read_counters.process_interval 0.00 +0.9 0.94 ± 9% perf-profile.calltrace.cycles-pp.filemap_map_pages.do_read_fault.do_fault.__handle_mm_fault.handle_mm_fault 0.00 +1.0 0.96 ± 16% perf-profile.calltrace.cycles-pp.dup_mm.copy_process.kernel_clone.__do_sys_clone.do_syscall_64 0.00 +1.0 0.96 ± 18% perf-profile.calltrace.cycles-pp.tick_nohz_next_event.tick_nohz_get_sleep_length.menu_select.cpuidle_idle_call.do_idle 0.00 +1.0 0.97 ± 13% perf-profile.calltrace.cycles-pp.affine_move_task.__set_cpus_allowed_ptr.__sched_setaffinity.sched_setaffinity.__x64_sys_sched_setaffinity 0.00 +1.0 0.97 ± 12% perf-profile.calltrace.cycles-pp.__vfork 0.00 +1.0 0.97 ± 10% perf-profile.calltrace.cycles-pp.do_read_fault.do_fault.__handle_mm_fault.handle_mm_fault.do_user_addr_fault 0.00 +1.0 0.97 ± 17% perf-profile.calltrace.cycles-pp.exec_mmap.begin_new_exec.load_elf_binary.search_binary_handler.exec_binprm 0.00 +1.0 0.99 ± 35% perf-profile.calltrace.cycles-pp.readn.perf_evsel__read.read_counters.process_interval.dispatch_events 0.00 +1.0 1.02 ± 15% perf-profile.calltrace.cycles-pp.move_queued_task.migration_cpu_stop.cpu_stopper_thread.smpboot_thread_fn.kthread 0.00 +1.0 1.03 ± 25% perf-profile.calltrace.cycles-pp.path_openat.do_filp_open.do_sys_openat2.__x64_sys_openat.do_syscall_64 0.00 +1.0 1.04 ± 24% perf-profile.calltrace.cycles-pp.do_filp_open.do_sys_openat2.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.0 1.05 ± 8% perf-profile.calltrace.cycles-pp.do_sys_openat2.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.1 1.06 ± 8% perf-profile.calltrace.cycles-pp.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.1 1.07 ± 25% perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock_irqsave.free_pcppages_bulk.decay_pcp_high.refresh_cpu_vm_stats 0.00 +1.1 1.08 ± 24% perf-profile.calltrace.cycles-pp._raw_spin_lock_irqsave.free_pcppages_bulk.decay_pcp_high.refresh_cpu_vm_stats.vmstat_update 0.00 +1.1 1.10 ± 12% perf-profile.calltrace.cycles-pp.begin_new_exec.load_elf_binary.search_binary_handler.exec_binprm.bprm_execve 0.00 +1.1 1.10 ± 10% perf-profile.calltrace.cycles-pp.do_fault.__handle_mm_fault.handle_mm_fault.do_user_addr_fault.exc_page_fault 0.00 +1.1 1.10 ± 36% perf-profile.calltrace.cycles-pp.perf_evsel__read.read_counters.process_interval.dispatch_events.cmd_stat 0.00 +1.1 1.12 ± 10% perf-profile.calltrace.cycles-pp.seq_read_iter.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.1 1.13 ± 51% perf-profile.calltrace.cycles-pp.cpuidle_enter.cpuidle_idle_call.do_idle.cpu_startup_entry.rest_init 0.00 +1.1 1.14 ± 14% perf-profile.calltrace.cycles-pp.intel_idle.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle 0.00 +1.2 1.15 ± 16% perf-profile.calltrace.cycles-pp.migration_cpu_stop.cpu_stopper_thread.smpboot_thread_fn.kthread.ret_from_fork 0.00 +1.2 1.18 ± 26% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.read.readn.evsel__read_counter 0.00 +1.2 1.18 ± 26% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.read.readn.evsel__read_counter.read_counters 0.00 +1.2 1.18 ± 16% perf-profile.calltrace.cycles-pp.cpu_stopper_thread.smpboot_thread_fn.kthread.ret_from_fork.ret_from_fork_asm 0.00 +1.2 1.19 ± 22% perf-profile.calltrace.cycles-pp.mmap_region.do_mmap.vm_mmap_pgoff.ksys_mmap_pgoff.do_syscall_64 0.00 +1.2 1.21 ± 10% perf-profile.calltrace.cycles-pp.vm_mmap_pgoff.ksys_mmap_pgoff.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.2 1.22 ± 49% perf-profile.calltrace.cycles-pp.cpuidle_idle_call.do_idle.cpu_startup_entry.rest_init.start_kernel 0.00 +1.2 1.22 ± 24% perf-profile.calltrace.cycles-pp.do_mmap.vm_mmap_pgoff.ksys_mmap_pgoff.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.2 1.22 ± 10% perf-profile.calltrace.cycles-pp.ksys_mmap_pgoff.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.2 1.25 ± 17% perf-profile.calltrace.cycles-pp.copy_process.kernel_clone.__do_sys_clone.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.3 1.26 ± 8% perf-profile.calltrace.cycles-pp.__x64_sys_exit_group.x64_sys_call.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.3 1.26 ± 8% perf-profile.calltrace.cycles-pp.do_exit.do_group_exit.__x64_sys_exit_group.x64_sys_call.do_syscall_64 0.00 +1.3 1.26 ± 8% perf-profile.calltrace.cycles-pp.do_group_exit.__x64_sys_exit_group.x64_sys_call.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.3 1.27 ± 18% perf-profile.calltrace.cycles-pp.tick_nohz_get_sleep_length.menu_select.cpuidle_idle_call.do_idle.cpu_startup_entry 0.00 +1.3 1.28 ± 22% perf-profile.calltrace.cycles-pp.free_pcppages_bulk.decay_pcp_high.refresh_cpu_vm_stats.vmstat_update.process_one_work 0.00 +1.3 1.29 ± 23% perf-profile.calltrace.cycles-pp.read.readn.evsel__read_counter.read_counters.process_interval 0.00 +1.3 1.30 ± 14% perf-profile.calltrace.cycles-pp.tick_nohz_idle_exit.do_idle.cpu_startup_entry.start_secondary.common_startup_64 0.00 +1.3 1.31 ± 24% perf-profile.calltrace.cycles-pp.readn.evsel__read_counter.read_counters.process_interval.dispatch_events 0.00 +1.3 1.31 ± 23% perf-profile.calltrace.cycles-pp.decay_pcp_high.refresh_cpu_vm_stats.vmstat_update.process_one_work.worker_thread 0.00 +1.3 1.32 ± 17% perf-profile.calltrace.cycles-pp.tick_nohz_stop_tick.tick_nohz_idle_stop_tick.cpuidle_idle_call.do_idle.cpu_startup_entry 0.00 +1.3 1.34 ± 13% perf-profile.calltrace.cycles-pp.setlocale 0.00 +1.3 1.35 ± 16% perf-profile.calltrace.cycles-pp.tick_nohz_idle_stop_tick.cpuidle_idle_call.do_idle.cpu_startup_entry.start_secondary 0.00 +1.4 1.40 ± 49% perf-profile.calltrace.cycles-pp.tick_irq_enter.irq_enter_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state 0.00 +1.4 1.42 ± 19% perf-profile.calltrace.cycles-pp._raw_spin_lock.raw_spin_rq_lock_nested._nohz_idle_balance.do_idle.cpu_startup_entry 0.00 +1.4 1.42 ± 19% perf-profile.calltrace.cycles-pp.raw_spin_rq_lock_nested._nohz_idle_balance.do_idle.cpu_startup_entry.start_secondary 0.00 +1.4 1.44 ± 49% perf-profile.calltrace.cycles-pp.irq_enter_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state.cpuidle_enter 0.00 +1.6 1.56 ± 7% perf-profile.calltrace.cycles-pp.__schedule.schedule_idle.do_idle.cpu_startup_entry.start_secondary 0.00 +1.6 1.59 ± 7% perf-profile.calltrace.cycles-pp.schedule_idle.do_idle.cpu_startup_entry.start_secondary.common_startup_64 0.00 +1.6 1.59 ± 12% perf-profile.calltrace.cycles-pp.__do_sys_clone.do_syscall_64.entry_SYSCALL_64_after_hwframe._Fork 0.00 +1.6 1.59 ± 12% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe._Fork 0.00 +1.6 1.59 ± 12% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe._Fork 0.00 +1.6 1.59 ± 12% perf-profile.calltrace.cycles-pp.kernel_clone.__do_sys_clone.do_syscall_64.entry_SYSCALL_64_after_hwframe._Fork 0.00 +1.7 1.66 ± 19% perf-profile.calltrace.cycles-pp.mm_init.alloc_bprm.do_execveat_common.__x64_sys_execve.do_syscall_64 0.00 +1.7 1.70 ± 4% perf-profile.calltrace.cycles-pp.x64_sys_call.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.8 1.79 ± 9% perf-profile.calltrace.cycles-pp.__set_cpus_allowed_ptr.__sched_setaffinity.sched_setaffinity.__x64_sys_sched_setaffinity.do_syscall_64 0.00 +1.8 1.81 ± 10% perf-profile.calltrace.cycles-pp._Fork 0.00 +1.9 1.85 ± 10% perf-profile.calltrace.cycles-pp.__handle_mm_fault.handle_mm_fault.do_user_addr_fault.exc_page_fault.asm_exc_page_fault 0.00 +1.9 1.85 ± 20% perf-profile.calltrace.cycles-pp.update_process_times.tick_nohz_handler.__hrtimer_run_queues.hrtimer_interrupt.__sysvec_apic_timer_interrupt 0.00 +1.9 1.90 ± 37% perf-profile.calltrace.cycles-pp.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe.read.readn 0.00 +1.9 1.91 ± 13% perf-profile.calltrace.cycles-pp.alloc_bprm.do_execveat_common.__x64_sys_execve.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.9 1.92 ± 24% perf-profile.calltrace.cycles-pp.update_sg_lb_stats.update_sd_lb_stats.sched_balance_find_src_group.sched_balance_rq.sched_balance_domains 0.00 +1.9 1.92 ± 10% perf-profile.calltrace.cycles-pp.handle_mm_fault.do_user_addr_fault.exc_page_fault.asm_exc_page_fault 0.00 +2.1 2.14 ± 10% perf-profile.calltrace.cycles-pp.__sched_setaffinity.sched_setaffinity.__x64_sys_sched_setaffinity.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +2.1 2.14 ± 15% perf-profile.calltrace.cycles-pp.evsel__read_counter.read_counters.process_interval.dispatch_events.cmd_stat 0.00 +2.2 2.16 ± 21% perf-profile.calltrace.cycles-pp.update_sd_lb_stats.sched_balance_find_src_group.sched_balance_rq.sched_balance_domains.handle_softirqs 0.00 +2.2 2.19 ± 13% perf-profile.calltrace.cycles-pp.do_user_addr_fault.exc_page_fault.asm_exc_page_fault 0.00 +2.2 2.20 ± 20% perf-profile.calltrace.cycles-pp.sched_balance_find_src_group.sched_balance_rq.sched_balance_domains.handle_softirqs.__irq_exit_rcu 0.00 +2.2 2.20 ± 13% perf-profile.calltrace.cycles-pp.exc_page_fault.asm_exc_page_fault 0.00 +2.3 2.31 ± 11% perf-profile.calltrace.cycles-pp.sched_setaffinity.__x64_sys_sched_setaffinity.do_syscall_64.entry_SYSCALL_64_after_hwframe.sched_setaffinity 0.00 +2.4 2.36 ± 45% perf-profile.calltrace.cycles-pp.cpu_startup_entry.rest_init.start_kernel.x86_64_start_reservations.x86_64_start_kernel 0.00 +2.4 2.36 ± 45% perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.rest_init.start_kernel.x86_64_start_reservations 0.00 +2.4 2.36 ± 45% perf-profile.calltrace.cycles-pp.rest_init.start_kernel.x86_64_start_reservations.x86_64_start_kernel.common_startup_64 0.00 +2.4 2.36 ± 45% perf-profile.calltrace.cycles-pp.start_kernel.x86_64_start_reservations.x86_64_start_kernel.common_startup_64 0.00 +2.4 2.36 ± 45% perf-profile.calltrace.cycles-pp.x86_64_start_kernel.common_startup_64 0.00 +2.4 2.36 ± 45% perf-profile.calltrace.cycles-pp.x86_64_start_reservations.x86_64_start_kernel.common_startup_64 0.00 +2.4 2.38 ± 13% perf-profile.calltrace.cycles-pp.menu_select.cpuidle_idle_call.do_idle.cpu_startup_entry.start_secondary 0.00 +2.4 2.39 ± 16% perf-profile.calltrace.cycles-pp.tick_nohz_handler.__hrtimer_run_queues.hrtimer_interrupt.__sysvec_apic_timer_interrupt.sysvec_apic_timer_interrupt 0.00 +2.4 2.43 ± 33% perf-profile.calltrace.cycles-pp.refresh_cpu_vm_stats.vmstat_update.process_one_work.worker_thread.kthread 0.00 +2.5 2.45 ± 32% perf-profile.calltrace.cycles-pp.vmstat_update.process_one_work.worker_thread.kthread.ret_from_fork 0.00 +2.5 2.48 ± 13% perf-profile.calltrace.cycles-pp.asm_exc_page_fault 0.00 +2.5 2.50 ± 12% perf-profile.calltrace.cycles-pp.__x64_sys_sched_setaffinity.do_syscall_64.entry_SYSCALL_64_after_hwframe.sched_setaffinity.evlist_cpu_iterator__next 0.00 +2.6 2.63 ± 18% perf-profile.calltrace.cycles-pp.sched_balance_rq.sched_balance_domains.handle_softirqs.__irq_exit_rcu.sysvec_apic_timer_interrupt 0.00 +2.8 2.76 ± 16% perf-profile.calltrace.cycles-pp.sched_balance_domains.handle_softirqs.__irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt 0.00 +2.8 2.85 ± 16% perf-profile.calltrace.cycles-pp.__hrtimer_run_queues.hrtimer_interrupt.__sysvec_apic_timer_interrupt.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt 0.00 +3.0 2.99 ± 6% perf-profile.calltrace.cycles-pp.load_elf_binary.search_binary_handler.exec_binprm.bprm_execve.do_execveat_common 0.00 +3.0 2.99 ± 14% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.sched_setaffinity.evlist_cpu_iterator__next.read_counters 0.00 +3.0 2.99 ± 14% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.sched_setaffinity.evlist_cpu_iterator__next.read_counters.process_interval 0.00 +3.1 3.10 ± 5% perf-profile.calltrace.cycles-pp.search_binary_handler.exec_binprm.bprm_execve.do_execveat_common.__x64_sys_execve 0.00 +3.1 3.10 ± 6% perf-profile.calltrace.cycles-pp.exec_binprm.bprm_execve.do_execveat_common.__x64_sys_execve.do_syscall_64 0.00 +3.2 3.18 ± 8% perf-profile.calltrace.cycles-pp.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe.read 0.00 +3.3 3.28 ± 12% perf-profile.calltrace.cycles-pp.sched_setaffinity.evlist_cpu_iterator__next.read_counters.process_interval.dispatch_events 0.00 +3.3 3.29 ± 9% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.read 0.00 +3.3 3.30 ± 9% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.read 0.00 +3.4 3.38 ± 8% perf-profile.calltrace.cycles-pp.read 0.00 +3.8 3.80 ± 15% perf-profile.calltrace.cycles-pp.hrtimer_interrupt.__sysvec_apic_timer_interrupt.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state 0.00 +3.9 3.86 ± 5% perf-profile.calltrace.cycles-pp.bprm_execve.do_execveat_common.__x64_sys_execve.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +3.9 3.92 ± 15% perf-profile.calltrace.cycles-pp.__sysvec_apic_timer_interrupt.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state.cpuidle_enter 0.00 +3.9 3.94 ± 11% perf-profile.calltrace.cycles-pp.evlist_cpu_iterator__next.read_counters.process_interval.dispatch_events.cmd_stat 0.00 +4.3 4.28 ± 15% perf-profile.calltrace.cycles-pp._nohz_idle_balance.do_idle.cpu_startup_entry.start_secondary.common_startup_64 0.00 +4.7 4.67 ± 10% perf-profile.calltrace.cycles-pp.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe.read 0.00 +5.0 5.02 ± 34% perf-profile.calltrace.cycles-pp.process_one_work.worker_thread.kthread.ret_from_fork.ret_from_fork_asm 0.00 +5.0 5.03 ± 8% perf-profile.calltrace.cycles-pp.update_sd_lb_stats.sched_balance_find_src_group.sched_balance_rq.sched_balance_newidle.balance_fair 0.00 +5.1 5.08 ± 8% perf-profile.calltrace.cycles-pp.sched_balance_find_src_group.sched_balance_rq.sched_balance_newidle.balance_fair.__schedule 0.00 +5.2 5.17 ± 12% perf-profile.calltrace.cycles-pp.update_sg_lb_stats.update_sd_lb_stats.sched_balance_find_src_group.sched_balance_rq.sched_balance_newidle 0.00 +5.2 5.22 ± 8% perf-profile.calltrace.cycles-pp.sched_balance_rq.sched_balance_newidle.balance_fair.__schedule.schedule 0.00 +5.3 5.28 ± 4% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +5.3 5.30 ± 5% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe 0.00 +5.6 5.58 ± 8% perf-profile.calltrace.cycles-pp.sched_balance_newidle.balance_fair.__schedule.schedule.smpboot_thread_fn 0.00 +5.6 5.60 ± 8% perf-profile.calltrace.cycles-pp.balance_fair.__schedule.schedule.smpboot_thread_fn.kthread 0.00 +5.9 5.93 ± 31% perf-profile.calltrace.cycles-pp.worker_thread.kthread.ret_from_fork.ret_from_fork_asm 0.00 +6.1 6.10 ± 7% perf-profile.calltrace.cycles-pp.__schedule.schedule.smpboot_thread_fn.kthread.ret_from_fork 0.00 +6.2 6.17 ± 7% perf-profile.calltrace.cycles-pp.schedule.smpboot_thread_fn.kthread.ret_from_fork.ret_from_fork_asm 0.00 +6.4 6.40 ± 3% perf-profile.calltrace.cycles-pp.do_execveat_common.__x64_sys_execve.do_syscall_64.entry_SYSCALL_64_after_hwframe.execve 0.00 +6.4 6.41 ± 3% perf-profile.calltrace.cycles-pp.__x64_sys_execve.do_syscall_64.entry_SYSCALL_64_after_hwframe.execve 0.00 +6.4 6.41 ± 3% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.execve 0.00 +6.4 6.41 ± 3% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.execve 0.00 +6.4 6.42 ± 3% perf-profile.calltrace.cycles-pp.execve 0.00 +7.5 7.52 ± 7% perf-profile.calltrace.cycles-pp.smpboot_thread_fn.kthread.ret_from_fork.ret_from_fork_asm 0.00 +7.9 7.86 ± 16% perf-profile.calltrace.cycles-pp.read_counters.process_interval.dispatch_events.cmd_stat.run_builtin 0.00 +8.0 8.02 ± 15% perf-profile.calltrace.cycles-pp.dispatch_events.cmd_stat.run_builtin.main 0.00 +8.0 8.02 ± 15% perf-profile.calltrace.cycles-pp.process_interval.dispatch_events.cmd_stat.run_builtin.main 0.00 +8.0 8.03 ± 15% perf-profile.calltrace.cycles-pp.cmd_stat.run_builtin.main 0.00 +8.1 8.09 ± 29% perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock_irq.tmigr_handle_remote_up.tmigr_handle_remote.handle_softirqs 0.00 +8.6 8.56 ± 14% perf-profile.calltrace.cycles-pp.main 0.00 +8.6 8.56 ± 14% perf-profile.calltrace.cycles-pp.run_builtin.main 0.00 +8.7 8.65 ± 28% perf-profile.calltrace.cycles-pp._raw_spin_lock_irq.tmigr_handle_remote_up.tmigr_handle_remote.handle_softirqs.__irq_exit_rcu 0.00 +9.1 9.15 ± 26% perf-profile.calltrace.cycles-pp.tmigr_handle_remote_up.tmigr_handle_remote.handle_softirqs.__irq_exit_rcu.sysvec_apic_timer_interrupt 0.00 +9.5 9.51 ± 26% perf-profile.calltrace.cycles-pp.tmigr_handle_remote.handle_softirqs.__irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt 0.00 +10.3 10.30 ± 10% perf-profile.calltrace.cycles-pp.intel_idle_xstate.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle 0.00 +14.5 14.53 ± 19% perf-profile.calltrace.cycles-pp.handle_softirqs.__irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state 0.00 +14.6 14.65 ± 19% perf-profile.calltrace.cycles-pp.__irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state.cpuidle_enter 0.00 +15.0 15.04 ± 14% perf-profile.calltrace.cycles-pp.kthread.ret_from_fork.ret_from_fork_asm 0.00 +15.0 15.04 ± 14% perf-profile.calltrace.cycles-pp.ret_from_fork.ret_from_fork_asm 0.00 +15.0 15.04 ± 14% perf-profile.calltrace.cycles-pp.ret_from_fork_asm 0.00 +20.4 20.41 ± 15% perf-profile.calltrace.cycles-pp.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call 0.00 +21.0 20.95 ± 15% perf-profile.calltrace.cycles-pp.asm_sysvec_apic_timer_interrupt.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle 0.00 +34.3 34.34 ± 10% perf-profile.calltrace.cycles-pp.cpuidle_enter.cpuidle_idle_call.do_idle.cpu_startup_entry.start_secondary 0.00 +35.0 34.99 ± 9% perf-profile.calltrace.cycles-pp.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle.cpu_startup_entry 0.00 +38.9 38.87 ± 9% perf-profile.calltrace.cycles-pp.cpuidle_idle_call.do_idle.cpu_startup_entry.start_secondary.common_startup_64 0.00 +47.2 47.16 ± 7% perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.start_secondary.common_startup_64 0.00 +47.2 47.18 ± 7% perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary.common_startup_64 0.00 +47.2 47.18 ± 7% perf-profile.calltrace.cycles-pp.start_secondary.common_startup_64 0.00 +49.5 49.54 ± 5% perf-profile.calltrace.cycles-pp.common_startup_64 73.23 ± 2% -73.2 0.00 perf-profile.children.cycles-pp.stress_sock 94.70 -68.3 26.36 ± 4% perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe 94.39 -68.1 26.30 ± 4% perf-profile.children.cycles-pp.do_syscall_64 57.83 -57.8 0.00 perf-profile.children.cycles-pp.__send 49.62 -49.6 0.00 perf-profile.children.cycles-pp.__x64_sys_sendto 49.58 -49.6 0.00 perf-profile.children.cycles-pp.__sys_sendto 47.91 -47.9 0.00 perf-profile.children.cycles-pp.tcp_sendmsg 44.49 -44.5 0.00 perf-profile.children.cycles-pp.tcp_sendmsg_locked 40.87 -40.9 0.00 perf-profile.children.cycles-pp.recv 37.26 -37.3 0.00 perf-profile.children.cycles-pp.__x64_sys_recvfrom 37.23 -37.2 0.00 perf-profile.children.cycles-pp.__sys_recvfrom 36.30 -36.3 0.00 perf-profile.children.cycles-pp.sock_recvmsg 35.96 -36.0 0.00 perf-profile.children.cycles-pp.inet_recvmsg 35.91 -35.9 0.00 perf-profile.children.cycles-pp.tcp_recvmsg 35.11 -35.1 0.00 perf-profile.children.cycles-pp.tcp_recvmsg_locked 25.74 -25.7 0.00 perf-profile.children.cycles-pp.__tcp_transmit_skb 23.73 -23.7 0.00 perf-profile.children.cycles-pp.__ip_queue_xmit 22.26 -22.3 0.00 perf-profile.children.cycles-pp.ip_finish_output2 21.67 -21.7 0.00 perf-profile.children.cycles-pp.__dev_queue_xmit 19.22 -19.2 0.00 perf-profile.children.cycles-pp.__local_bh_enable_ip 18.94 -18.9 0.00 perf-profile.children.cycles-pp.do_softirq 18.86 -18.9 0.00 perf-profile.children.cycles-pp.tcp_write_xmit 21.53 -18.6 2.98 ± 21% perf-profile.children.cycles-pp._raw_spin_lock_irqsave 17.87 -17.8 0.04 ±152% perf-profile.children.cycles-pp.net_rx_action 17.34 -17.3 0.04 ±152% perf-profile.children.cycles-pp.__napi_poll 17.28 -17.3 0.00 perf-profile.children.cycles-pp.process_backlog 16.98 -17.0 0.00 perf-profile.children.cycles-pp.__tcp_push_pending_frames 16.68 -16.7 0.00 perf-profile.children.cycles-pp.__netif_receive_skb_one_core 15.23 -15.2 0.00 perf-profile.children.cycles-pp.ip_local_deliver_finish 14.80 -14.8 0.00 perf-profile.children.cycles-pp.ip_protocol_deliver_rcu 14.57 -14.6 0.00 perf-profile.children.cycles-pp.tcp_v4_rcv 13.69 -13.7 0.00 perf-profile.children.cycles-pp.tcp_v4_do_rcv 13.32 -13.3 0.00 perf-profile.children.cycles-pp.tcp_rcv_established 13.16 -13.2 0.00 perf-profile.children.cycles-pp.sk_page_frag_refill 13.13 -13.1 0.00 perf-profile.children.cycles-pp.skb_page_frag_refill 12.66 -12.4 0.25 ± 20% perf-profile.children.cycles-pp.get_page_from_freelist 12.73 -12.3 0.40 ± 33% perf-profile.children.cycles-pp.alloc_pages_mpol_noprof 12.71 -12.3 0.38 ± 33% perf-profile.children.cycles-pp.__alloc_pages_noprof 12.22 -12.0 0.16 ± 41% perf-profile.children.cycles-pp.rmqueue 12.08 -12.0 0.11 ± 54% perf-profile.children.cycles-pp.rmqueue_bulk 12.10 -12.0 0.15 ± 43% perf-profile.children.cycles-pp.__rmqueue_pcplist 10.47 -10.5 0.00 perf-profile.children.cycles-pp.skb_release_data 9.75 -9.6 0.11 ± 51% perf-profile.children.cycles-pp.free_unref_page 9.57 -9.4 0.13 ± 41% perf-profile.children.cycles-pp.free_unref_page_commit 20.82 -9.3 11.48 ± 19% perf-profile.children.cycles-pp.native_queued_spin_lock_slowpath 8.92 -8.9 0.00 perf-profile.children.cycles-pp.skb_attempt_defer_free 7.56 -7.6 0.00 perf-profile.children.cycles-pp.tcp_data_queue 9.40 -7.1 2.32 ± 33% perf-profile.children.cycles-pp.free_pcppages_bulk 6.52 -6.5 0.00 perf-profile.children.cycles-pp.skb_copy_datagram_iter 6.47 -6.5 0.00 perf-profile.children.cycles-pp.__skb_datagram_iter 6.45 -6.5 0.00 perf-profile.children.cycles-pp.sk_wait_data 6.30 ± 2% -6.3 0.00 perf-profile.children.cycles-pp.__sk_mem_schedule 6.22 -6.2 0.00 perf-profile.children.cycles-pp.__sk_mem_raise_allocated 6.74 -5.9 0.83 ± 25% perf-profile.children.cycles-pp.syscall_exit_to_user_mode 5.80 -5.8 0.00 perf-profile.children.cycles-pp.wait_woken 5.53 -5.4 0.11 ± 67% perf-profile.children.cycles-pp.schedule_timeout 5.51 -5.3 0.20 ± 29% perf-profile.children.cycles-pp._copy_to_iter 4.38 -4.0 0.33 ± 32% perf-profile.children.cycles-pp.__wake_up_sync_key 4.25 -3.9 0.35 ± 27% perf-profile.children.cycles-pp.__wake_up_common 4.13 -3.0 1.10 ± 24% perf-profile.children.cycles-pp.try_to_wake_up 2.80 ± 8% -2.7 0.12 ± 49% perf-profile.children.cycles-pp.__mod_memcg_state 2.35 -1.8 0.53 ± 24% perf-profile.children.cycles-pp.ttwu_do_activate 8.89 -1.5 7.34 ± 9% perf-profile.children.cycles-pp.schedule 1.67 -1.4 0.29 ± 24% perf-profile.children.cycles-pp.switch_mm_irqs_off 1.38 -1.1 0.32 ± 46% perf-profile.children.cycles-pp.__check_object_size 1.32 -1.0 0.31 ± 34% perf-profile.children.cycles-pp.update_curr 1.07 ± 4% -1.0 0.07 ± 83% perf-profile.children.cycles-pp.try_charge_memcg 1.82 -0.9 0.88 ± 7% perf-profile.children.cycles-pp.enqueue_task_fair 1.81 -0.9 0.88 ± 16% perf-profile.children.cycles-pp.dequeue_task_fair 1.20 -0.9 0.27 ± 48% perf-profile.children.cycles-pp.switch_fpu_return 1.12 -0.9 0.22 ± 23% perf-profile.children.cycles-pp.__rseq_handle_notify_resume 1.04 -0.9 0.18 ± 55% perf-profile.children.cycles-pp.check_heap_object 0.99 -0.9 0.14 ± 60% perf-profile.children.cycles-pp.restore_fpregs_from_fpstate 1.05 -0.8 0.22 ± 43% perf-profile.children.cycles-pp.entry_SYSCALL_64 1.64 -0.8 0.83 ± 16% perf-profile.children.cycles-pp.update_load_avg 0.81 -0.8 0.04 ±103% perf-profile.children.cycles-pp.__fdget 0.92 -0.7 0.24 ± 43% perf-profile.children.cycles-pp.read_tsc 0.89 ± 2% -0.6 0.25 ± 36% perf-profile.children.cycles-pp.prepare_task_switch 0.70 -0.5 0.18 ± 17% perf-profile.children.cycles-pp.rseq_ip_fixup 0.57 -0.5 0.10 ± 62% perf-profile.children.cycles-pp.entry_SYSRETQ_unsafe_stack 0.52 ± 2% -0.5 0.05 ±104% perf-profile.children.cycles-pp.put_prev_entity 0.71 -0.4 0.26 ± 36% perf-profile.children.cycles-pp.__switch_to 0.66 -0.4 0.24 ± 22% perf-profile.children.cycles-pp.irqtime_account_irq 0.47 -0.4 0.07 ±116% perf-profile.children.cycles-pp.syscall_return_via_sysret 0.44 -0.4 0.06 ±101% perf-profile.children.cycles-pp.__virt_addr_valid 0.61 ± 10% -0.4 0.24 ± 40% perf-profile.children.cycles-pp.select_task_rq 0.42 -0.4 0.05 ±114% perf-profile.children.cycles-pp.pick_eevdf 0.54 -0.4 0.17 ± 36% perf-profile.children.cycles-pp.__update_load_avg_se 1.85 -0.3 1.51 ± 15% perf-profile.children.cycles-pp.pick_next_task_fair 0.62 ± 2% -0.3 0.32 ± 29% perf-profile.children.cycles-pp.sched_clock_cpu 0.53 -0.3 0.23 ± 14% perf-profile.children.cycles-pp.__switch_to_asm 0.40 -0.3 0.14 ± 7% perf-profile.children.cycles-pp.record__mmap_read_evlist 0.40 -0.3 0.14 ± 7% perf-profile.children.cycles-pp.perf_mmap__push 0.34 ± 4% -0.3 0.08 ± 77% perf-profile.children.cycles-pp.update_cfs_group 0.53 ± 2% -0.3 0.28 ± 30% perf-profile.children.cycles-pp.sched_clock 0.37 -0.2 0.14 ± 52% perf-profile.children.cycles-pp.rseq_get_rseq_cs 0.75 ± 12% -0.2 0.53 ± 7% perf-profile.children.cycles-pp.__cmd_record 0.45 -0.2 0.24 ± 46% perf-profile.children.cycles-pp.__update_load_avg_cfs_rq 0.64 -0.2 0.44 ± 23% perf-profile.children.cycles-pp.set_next_entity 0.25 ± 2% -0.2 0.06 ± 47% perf-profile.children.cycles-pp.shmem_file_write_iter 0.24 -0.2 0.06 ± 45% perf-profile.children.cycles-pp.generic_perform_write 0.89 -0.2 0.73 ± 8% perf-profile.children.cycles-pp.enqueue_entity 0.22 ± 2% -0.1 0.07 ± 80% perf-profile.children.cycles-pp.__put_user_8 0.32 -0.1 0.18 ± 30% perf-profile.children.cycles-pp.__get_user_8 0.20 ± 2% -0.1 0.07 ± 90% perf-profile.children.cycles-pp.avg_vruntime 0.11 -0.1 0.04 ±100% perf-profile.children.cycles-pp.remove_wait_queue 0.12 ± 4% -0.1 0.07 ± 49% perf-profile.children.cycles-pp.place_entity 0.06 ± 8% +0.1 0.12 ± 24% perf-profile.children.cycles-pp.mm_cid_get 0.00 +0.1 0.08 ± 14% perf-profile.children.cycles-pp.unlink_file_vma_batch_final 0.00 +0.1 0.08 ± 23% perf-profile.children.cycles-pp.hrtimer_update_next_event 0.00 +0.1 0.08 ± 23% perf-profile.children.cycles-pp.vm_area_dup 0.00 +0.1 0.08 ± 19% perf-profile.children.cycles-pp._copy_to_user 0.00 +0.1 0.09 ± 19% perf-profile.children.cycles-pp.diskstats_show 0.00 +0.1 0.09 ± 33% perf-profile.children.cycles-pp.put_prev_task_fair 0.00 +0.1 0.10 ± 26% perf-profile.children.cycles-pp.kcpustat_cpu_fetch 0.00 +0.1 0.10 ± 29% perf-profile.children.cycles-pp.sched_balance_trigger 0.00 +0.1 0.10 ± 42% perf-profile.children.cycles-pp.error_entry 0.00 +0.1 0.11 ± 21% perf-profile.children.cycles-pp.__mbrtowc 0.00 +0.1 0.11 ± 48% perf-profile.children.cycles-pp.arch_do_signal_or_restart 0.07 ± 6% +0.1 0.19 ± 29% perf-profile.children.cycles-pp.task_work_run 0.09 ± 4% +0.1 0.20 ± 23% perf-profile.children.cycles-pp.update_irq_load_avg 0.00 +0.1 0.12 ± 22% perf-profile.children.cycles-pp.__kmalloc_noprof 0.00 +0.1 0.12 ± 33% perf-profile.children.cycles-pp.__libc_fork 0.00 +0.1 0.12 ± 32% perf-profile.children.cycles-pp.devkmsg_read 0.00 +0.1 0.12 ± 41% perf-profile.children.cycles-pp.tmigr_quick_check 0.00 +0.1 0.13 ± 41% perf-profile.children.cycles-pp.enqueue_hrtimer 0.00 +0.1 0.13 ± 35% perf-profile.children.cycles-pp.fput 0.00 +0.1 0.13 ± 24% perf-profile.children.cycles-pp.node_read_numastat 0.00 +0.1 0.13 ± 40% perf-profile.children.cycles-pp.perf_event_ctx_lock_nested 0.00 +0.1 0.13 ± 28% perf-profile.children.cycles-pp.complete_signal 0.00 +0.1 0.13 ± 49% perf-profile.children.cycles-pp.free_unref_folios 0.00 +0.1 0.13 ± 29% perf-profile.children.cycles-pp.i40e_service_task 0.40 ± 2% +0.1 0.53 ± 7% perf-profile.children.cycles-pp.cmd_record 0.00 +0.1 0.13 ± 53% perf-profile.children.cycles-pp.arch_get_unmapped_area_topdown_vmflags 0.00 +0.1 0.13 ± 42% perf-profile.children.cycles-pp.run_posix_cpu_timers 0.00 +0.1 0.13 ± 23% perf-profile.children.cycles-pp.unlink_anon_vmas 0.00 +0.1 0.13 ± 34% perf-profile.children.cycles-pp.update_dl_rq_load_avg 0.00 +0.1 0.14 ± 20% perf-profile.children.cycles-pp.update_group_capacity 0.00 +0.1 0.14 ± 28% perf-profile.children.cycles-pp.delayed_vfree_work 0.00 +0.1 0.14 ± 58% perf-profile.children.cycles-pp.perf_event_task_tick 0.00 +0.1 0.14 ± 28% perf-profile.children.cycles-pp.vfree 0.00 +0.1 0.14 ± 30% perf-profile.children.cycles-pp.apparmor_file_permission 0.00 +0.1 0.14 ± 44% perf-profile.children.cycles-pp.ct_kernel_exit 0.06 +0.1 0.20 ± 30% perf-profile.children.cycles-pp.ttwu_queue_wakelist 0.00 +0.1 0.14 ± 37% perf-profile.children.cycles-pp.obj_cgroup_charge 0.00 +0.1 0.14 ± 24% perf-profile.children.cycles-pp.vma_interval_tree_remove 0.00 +0.1 0.14 ± 50% perf-profile.children.cycles-pp.lru_add_drain 0.00 +0.1 0.14 ± 18% perf-profile.children.cycles-pp.perf_stat_process_counter 0.00 +0.2 0.15 ± 33% perf-profile.children.cycles-pp.acpi_ev_sci_xrupt_handler 0.00 +0.2 0.15 ± 33% perf-profile.children.cycles-pp.acpi_irq 0.00 +0.2 0.15 ± 33% perf-profile.children.cycles-pp.irq_thread_fn 0.00 +0.2 0.15 ± 33% perf-profile.children.cycles-pp.__x64_sys_munmap 0.00 +0.2 0.15 ± 12% perf-profile.children.cycles-pp.do_notify_parent 0.00 +0.2 0.15 ± 20% perf-profile.children.cycles-pp.process_counters 0.00 +0.2 0.15 ± 31% perf-profile.children.cycles-pp.security_file_permission 0.00 +0.2 0.15 ± 33% perf-profile.children.cycles-pp.acpi_ex_extract_from_field 0.00 +0.2 0.15 ± 33% perf-profile.children.cycles-pp.acpi_ex_read_data_from_field 0.00 +0.2 0.15 ± 33% perf-profile.children.cycles-pp.acpi_ex_resolve_node_to_value 0.00 +0.2 0.16 ± 53% perf-profile.children.cycles-pp.__get_unmapped_area 0.00 +0.2 0.16 ± 36% perf-profile.children.cycles-pp.timerqueue_add 0.00 +0.2 0.16 ± 33% perf-profile.children.cycles-pp.irq_thread 0.00 +0.2 0.16 ± 43% perf-profile.children.cycles-pp.vma_modify 0.00 +0.2 0.16 ± 31% perf-profile.children.cycles-pp.folio_remove_rmap_ptes 0.00 +0.2 0.16 ± 28% perf-profile.children.cycles-pp.acpi_ev_address_space_dispatch 0.00 +0.2 0.16 ± 28% perf-profile.children.cycles-pp.acpi_ex_access_region 0.00 +0.2 0.16 ± 28% perf-profile.children.cycles-pp.acpi_ex_field_datum_io 0.00 +0.2 0.16 ± 28% perf-profile.children.cycles-pp.acpi_ex_system_memory_space_handler 0.00 +0.2 0.16 ± 32% perf-profile.children.cycles-pp.acpi_ds_evaluate_name_path 0.00 +0.2 0.16 ± 49% perf-profile.children.cycles-pp.lru_add_drain_cpu 0.00 +0.2 0.16 ± 26% perf-profile.children.cycles-pp.filemap_read 0.00 +0.2 0.16 ± 51% perf-profile.children.cycles-pp.mas_split 0.00 +0.2 0.16 ± 26% perf-profile.children.cycles-pp.open64 0.00 +0.2 0.16 ± 12% perf-profile.children.cycles-pp.tick_nohz_idle_got_tick 0.00 +0.2 0.16 ± 43% perf-profile.children.cycles-pp._compound_head 0.00 +0.2 0.16 ± 32% perf-profile.children.cycles-pp.__pmd_alloc 0.00 +0.2 0.16 ± 27% perf-profile.children.cycles-pp.__x64_sys_close 0.00 +0.2 0.16 ± 17% perf-profile.children.cycles-pp.exit_notify 0.00 +0.2 0.16 ± 22% perf-profile.children.cycles-pp.seq_printf 0.00 +0.2 0.17 ± 50% perf-profile.children.cycles-pp.copy_page_to_iter 0.00 +0.2 0.17 ± 25% perf-profile.children.cycles-pp.leave_mm 0.00 +0.2 0.17 ± 62% perf-profile.children.cycles-pp.strncpy_from_user 0.00 +0.2 0.17 ± 35% perf-profile.children.cycles-pp.wait_task_zombie 0.00 +0.2 0.18 ± 21% perf-profile.children.cycles-pp.__send_signal_locked 0.00 +0.2 0.18 ± 25% perf-profile.children.cycles-pp.cgroup_rstat_flush 0.00 +0.2 0.18 ± 25% perf-profile.children.cycles-pp.cgroup_rstat_flush_locked 0.00 +0.2 0.18 ± 25% perf-profile.children.cycles-pp.flush_memcg_stats_dwork 0.00 +0.2 0.18 ± 36% perf-profile.children.cycles-pp.slab_show 0.00 +0.2 0.18 ± 36% perf-profile.children.cycles-pp.arch_scale_freq_tick 0.00 +0.2 0.18 ± 46% perf-profile.children.cycles-pp.rcu_report_qs_rnp 0.00 +0.2 0.18 ± 42% perf-profile.children.cycles-pp.__close 0.00 +0.2 0.19 ± 40% perf-profile.children.cycles-pp.__do_fault 0.00 +0.2 0.19 ± 49% perf-profile.children.cycles-pp.mas_wr_bnode 0.00 +0.2 0.19 ± 38% perf-profile.children.cycles-pp.perf_poll 0.00 +0.2 0.19 ± 44% perf-profile.children.cycles-pp.mas_find 0.00 +0.2 0.19 ± 24% perf-profile.children.cycles-pp.__mutex_lock 0.00 +0.2 0.19 ± 31% perf-profile.children.cycles-pp.__smp_call_single_queue 0.00 +0.2 0.19 ± 26% perf-profile.children.cycles-pp.alloc_anon_folio 0.00 +0.2 0.20 ± 49% perf-profile.children.cycles-pp.copy_p4d_range 0.00 +0.2 0.20 ± 49% perf-profile.children.cycles-pp.copy_page_range 0.00 +0.2 0.20 ± 58% perf-profile.children.cycles-pp.mod_objcg_state 0.00 +0.2 0.20 ± 36% perf-profile.children.cycles-pp.__do_wait 0.00 +0.2 0.20 ± 49% perf-profile.children.cycles-pp.lapic_next_deadline 0.05 +0.2 0.25 ± 30% perf-profile.children.cycles-pp.get_jiffies_update 0.00 +0.2 0.20 ± 56% perf-profile.children.cycles-pp.copy_string_kernel 0.00 +0.2 0.20 ± 30% perf-profile.children.cycles-pp.shift_arg_pages 0.00 +0.2 0.20 ± 28% perf-profile.children.cycles-pp.__d_lookup_rcu 0.00 +0.2 0.20 ± 40% perf-profile.children.cycles-pp.mas_wr_node_store 0.00 +0.2 0.20 ± 25% perf-profile.children.cycles-pp.acpi_ds_exec_end_op 0.00 +0.2 0.20 ± 42% perf-profile.children.cycles-pp.mas_walk 0.00 +0.2 0.20 ± 33% perf-profile.children.cycles-pp.fstatat64 0.00 +0.2 0.20 ± 20% perf-profile.children.cycles-pp.timerqueue_del 0.00 +0.2 0.20 ± 45% perf-profile.children.cycles-pp.folio_batch_move_lru 0.00 +0.2 0.21 ± 33% perf-profile.children.cycles-pp.strnlen_user 0.00 +0.2 0.21 ± 28% perf-profile.children.cycles-pp.kmem_cache_alloc_lru_noprof 0.00 +0.2 0.21 ± 47% perf-profile.children.cycles-pp.irqtime_account_process_tick 0.00 +0.2 0.22 ± 47% perf-profile.children.cycles-pp.open_last_lookups 0.00 +0.2 0.22 ± 46% perf-profile.children.cycles-pp.dput 0.00 +0.2 0.22 ± 25% perf-profile.children.cycles-pp.sync_regs 0.00 +0.2 0.22 ± 18% perf-profile.children.cycles-pp.__memcpy 0.00 +0.2 0.22 ± 34% perf-profile.children.cycles-pp.lock_vma_under_rcu 0.00 +0.2 0.22 ± 45% perf-profile.children.cycles-pp.schedule_tail 0.00 +0.2 0.22 ± 21% perf-profile.children.cycles-pp.local_clock_noinstr 0.00 +0.2 0.22 ± 49% perf-profile.children.cycles-pp.step_into 0.00 +0.2 0.22 ± 18% perf-profile.children.cycles-pp.menu_reflect 0.00 +0.2 0.23 ± 34% perf-profile.children.cycles-pp.do_wait 0.00 +0.2 0.23 ± 36% perf-profile.children.cycles-pp.get_cpu_sleep_time_us 0.00 +0.2 0.23 ± 35% perf-profile.children.cycles-pp.note_gp_changes 0.00 +0.2 0.23 ± 48% perf-profile.children.cycles-pp.__get_user_pages 0.00 +0.2 0.23 ± 41% perf-profile.children.cycles-pp.hrtimer_try_to_cancel 0.00 +0.2 0.23 ± 23% perf-profile.children.cycles-pp.tsc_verify_tsc_adjust 0.00 +0.2 0.23 ± 45% perf-profile.children.cycles-pp.getname_flags 0.00 +0.2 0.23 ± 33% perf-profile.children.cycles-pp.alloc_empty_file 0.00 +0.2 0.24 ± 36% perf-profile.children.cycles-pp.__d_alloc 0.00 +0.2 0.24 ± 23% perf-profile.children.cycles-pp.create_elf_tables 0.00 +0.2 0.24 ± 52% perf-profile.children.cycles-pp.get_user_pages_remote 0.00 +0.2 0.24 ± 30% perf-profile.children.cycles-pp.get_idle_time 0.00 +0.2 0.24 ± 30% perf-profile.children.cycles-pp.__do_sys_wait4 0.00 +0.2 0.24 ± 30% perf-profile.children.cycles-pp.kernel_wait4 0.00 +0.2 0.24 ± 47% perf-profile.children.cycles-pp.rcu_pending 0.00 +0.2 0.24 ± 34% perf-profile.children.cycles-pp.hrtimer_cancel 0.00 +0.2 0.24 ± 37% perf-profile.children.cycles-pp.mutex_unlock 0.00 +0.2 0.24 ± 14% perf-profile.children.cycles-pp.vsnprintf 0.00 +0.2 0.24 ± 40% perf-profile.children.cycles-pp.set_pte_range 0.00 +0.2 0.25 ± 42% perf-profile.children.cycles-pp.autoremove_wake_function 0.00 +0.2 0.25 ± 27% perf-profile.children.cycles-pp.rw_verify_area 0.00 +0.3 0.25 ± 21% perf-profile.children.cycles-pp.do_poll 0.00 +0.3 0.25 ± 39% perf-profile.children.cycles-pp.sched_ttwu_pending 0.00 +0.3 0.26 ± 29% perf-profile.children.cycles-pp.do_open_execat 0.00 +0.3 0.26 ± 30% perf-profile.children.cycles-pp.dyntick_save_progress_counter 0.00 +0.3 0.26 ± 39% perf-profile.children.cycles-pp.mas_wr_store_entry 0.00 +0.3 0.26 ± 17% perf-profile.children.cycles-pp.down_write 0.00 +0.3 0.26 ± 41% perf-profile.children.cycles-pp.memchr_inv 0.00 +0.3 0.26 ± 19% perf-profile.children.cycles-pp.acpi_ps_parse_loop 0.00 +0.3 0.26 ± 37% perf-profile.children.cycles-pp.mprotect_fixup 0.00 +0.3 0.26 ± 18% perf-profile.children.cycles-pp.vma_complete 0.00 +0.3 0.26 ± 30% perf-profile.children.cycles-pp.unmap_region 0.00 +0.3 0.27 ± 34% perf-profile.children.cycles-pp.tick_nohz_stop_idle 0.00 +0.3 0.27 ± 32% perf-profile.children.cycles-pp.__vmalloc_node_range_noprof 0.00 +0.3 0.27 ± 15% perf-profile.children.cycles-pp.acpi_ps_parse_aml 0.00 +0.3 0.27 ± 29% perf-profile.children.cycles-pp.cpuidle_governor_latency_req 0.00 +0.3 0.27 ± 28% perf-profile.children.cycles-pp.perf_evlist__poll 0.00 +0.3 0.27 ± 42% perf-profile.children.cycles-pp.__slab_free 0.00 +0.3 0.28 ± 23% perf-profile.children.cycles-pp._IO_fwrite 0.00 +0.3 0.28 ± 17% perf-profile.children.cycles-pp.acpi_ev_asynch_execute_gpe_method 0.00 +0.3 0.28 ± 17% perf-profile.children.cycles-pp.acpi_ns_evaluate 0.00 +0.3 0.28 ± 17% perf-profile.children.cycles-pp.acpi_ps_execute_method 0.00 +0.3 0.28 ± 37% perf-profile.children.cycles-pp.__memcg_slab_free_hook 0.00 +0.3 0.28 ± 18% perf-profile.children.cycles-pp.arch_cpu_idle_enter 0.00 +0.3 0.28 ± 18% perf-profile.children.cycles-pp.__tmigr_cpu_activate 0.00 +0.3 0.28 ± 40% perf-profile.children.cycles-pp.tmigr_inactive_up 0.00 +0.3 0.29 ± 27% perf-profile.children.cycles-pp.alloc_thread_stack_node 0.00 +0.3 0.29 ± 37% perf-profile.children.cycles-pp.dev_attr_show 0.00 +0.3 0.29 ± 37% perf-profile.children.cycles-pp.sysfs_kf_seq_show 0.00 +0.3 0.29 ± 49% perf-profile.children.cycles-pp.sysvec_call_function_single 0.00 +0.3 0.29 ± 28% perf-profile.children.cycles-pp.all_vm_events 0.00 +0.3 0.30 ± 18% perf-profile.children.cycles-pp.setup_arg_pages 0.00 +0.3 0.30 ± 30% perf-profile.children.cycles-pp.__vm_munmap 0.00 +0.3 0.30 ± 29% perf-profile.children.cycles-pp.affinity__set 0.00 +0.3 0.30 ± 48% perf-profile.children.cycles-pp.asm_sysvec_call_function_single 0.00 +0.3 0.30 ± 40% perf-profile.children.cycles-pp.get_arg_page 0.00 +0.3 0.30 ± 50% perf-profile.children.cycles-pp.rcu_sched_clock_irq 0.00 +0.3 0.30 ± 14% perf-profile.children.cycles-pp.acpi_os_execute_deferred 0.00 +0.3 0.30 ± 34% perf-profile.children.cycles-pp.do_open 0.00 +0.3 0.30 ± 28% perf-profile.children.cycles-pp.perf_evlist__poll_thread 0.00 +0.3 0.30 ± 32% perf-profile.children.cycles-pp.poll_idle 0.00 +0.3 0.31 ± 28% perf-profile.children.cycles-pp.vfs_statx 0.00 +0.3 0.31 ± 14% perf-profile.children.cycles-pp.wp_page_copy 0.00 +0.3 0.31 ± 25% perf-profile.children.cycles-pp.mm_init_cid 0.00 +0.3 0.31 ± 19% perf-profile.children.cycles-pp.should_we_balance 0.00 +0.3 0.31 ± 24% perf-profile.children.cycles-pp.wait4 0.00 +0.3 0.31 ± 37% perf-profile.children.cycles-pp.__pte_offset_map_lock 0.00 +0.3 0.32 ± 40% perf-profile.children.cycles-pp.__fdget_pos 0.00 +0.3 0.32 ± 18% perf-profile.children.cycles-pp.__x64_sys_poll 0.00 +0.3 0.32 ± 18% perf-profile.children.cycles-pp.do_sys_poll 0.00 +0.3 0.32 ± 24% perf-profile.children.cycles-pp.tmigr_cpu_activate 0.00 +0.3 0.32 ± 33% perf-profile.children.cycles-pp.wake_up_q 0.00 +0.3 0.32 ± 20% perf-profile.children.cycles-pp.ktime_get_update_offsets_now 0.00 +0.3 0.32 ± 19% perf-profile.children.cycles-pp.mutex_lock 0.00 +0.3 0.32 ± 39% perf-profile.children.cycles-pp.vma_prepare 0.06 ± 9% +0.3 0.38 ± 45% perf-profile.children.cycles-pp.tmigr_requires_handle_remote 0.00 +0.3 0.32 ± 8% perf-profile.children.cycles-pp.__evlist__disable 0.00 +0.3 0.32 ± 23% perf-profile.children.cycles-pp.path_lookupat 0.00 +0.3 0.33 ± 40% perf-profile.children.cycles-pp.__hrtimer_start_range_ns 0.00 +0.3 0.33 ± 28% perf-profile.children.cycles-pp.tmigr_cpu_deactivate 0.00 +0.3 0.33 ± 34% perf-profile.children.cycles-pp.seq_read 0.00 +0.3 0.33 ± 34% perf-profile.children.cycles-pp.__x64_sys_mprotect 0.00 +0.3 0.33 ± 34% perf-profile.children.cycles-pp.do_mprotect_pkey 0.00 +0.3 0.33 ± 26% perf-profile.children.cycles-pp.dup_task_struct 0.00 +0.3 0.33 ± 21% perf-profile.children.cycles-pp.filename_lookup 0.00 +0.3 0.33 ± 25% perf-profile.children.cycles-pp.vfs_fstatat 0.00 +0.3 0.33 ± 36% perf-profile.children.cycles-pp.lookup_fast 0.00 +0.3 0.34 ± 21% perf-profile.children.cycles-pp.__poll 0.00 +0.3 0.34 ± 27% perf-profile.children.cycles-pp.__perf_event_read_value 0.00 +0.3 0.34 ± 36% perf-profile.children.cycles-pp.nr_iowait_cpu 0.00 +0.3 0.35 ± 26% perf-profile.children.cycles-pp.ct_kernel_exit_state 0.00 +0.4 0.35 ± 31% perf-profile.children.cycles-pp.copy_strings 0.00 +0.4 0.36 ± 17% perf-profile.children.cycles-pp.cpu_util 0.00 +0.4 0.36 ± 12% perf-profile.children.cycles-pp.timekeeping_advance 0.00 +0.4 0.36 ± 12% perf-profile.children.cycles-pp.update_wall_time 0.00 +0.4 0.36 ± 18% perf-profile.children.cycles-pp.free_pgtables 0.00 +0.4 0.37 ± 35% perf-profile.children.cycles-pp.__tlb_batch_free_encoded_pages 0.00 +0.4 0.37 ± 35% perf-profile.children.cycles-pp.free_pages_and_swap_cache 0.00 +0.4 0.37 ± 31% perf-profile.children.cycles-pp.kick_pool 0.00 +0.4 0.37 ± 33% perf-profile.children.cycles-pp.__percpu_counter_sum 0.00 +0.4 0.37 ± 27% perf-profile.children.cycles-pp.perf_event_mmap_output 0.00 +0.4 0.38 ± 36% perf-profile.children.cycles-pp.folios_put_refs 0.00 +0.4 0.38 ± 31% perf-profile.children.cycles-pp.kfree 0.00 +0.4 0.38 ± 25% perf-profile.children.cycles-pp.tmigr_update_events 0.00 +0.4 0.38 ± 28% perf-profile.children.cycles-pp.cpu_stop_queue_work 0.00 +0.4 0.38 ± 22% perf-profile.children.cycles-pp.tmigr_handle_remote_cpu 0.00 +0.4 0.39 ± 27% perf-profile.children.cycles-pp.d_alloc 0.00 +0.4 0.40 ± 52% perf-profile.children.cycles-pp.__perf_read_group_add 0.00 +0.4 0.40 ± 23% perf-profile.children.cycles-pp.__do_sys_newfstatat 0.00 +0.4 0.40 ± 17% perf-profile.children.cycles-pp.load_elf_interp 0.00 +0.4 0.40 ± 19% perf-profile.children.cycles-pp.mas_store_prealloc 0.00 +0.4 0.41 ± 22% perf-profile.children.cycles-pp.__memcg_slab_post_alloc_hook 0.00 +0.4 0.41 ± 14% perf-profile.children.cycles-pp.flush_smp_call_function_queue 0.00 +0.4 0.42 ± 16% perf-profile.children.cycles-pp.__x64_sys_exit 0.00 +0.4 0.42 ± 21% perf-profile.children.cycles-pp.__flush_smp_call_function_queue 0.42 +0.4 0.85 ± 22% perf-profile.children.cycles-pp.__cond_resched 0.00 +0.4 0.44 ± 31% perf-profile.children.cycles-pp.__update_blocked_fair 0.00 +0.4 0.44 ± 27% perf-profile.children.cycles-pp.dup_mmap 0.31 +0.4 0.76 ± 12% perf-profile.children.cycles-pp.finish_task_switch 0.00 +0.5 0.46 ± 20% perf-profile.children.cycles-pp.need_update 0.00 +0.5 0.47 ± 26% perf-profile.children.cycles-pp.tlb_finish_mmu 0.00 +0.5 0.47 ± 20% perf-profile.children.cycles-pp.d_alloc_parallel 0.07 ± 38% +0.5 0.55 ± 16% perf-profile.children.cycles-pp._find_next_and_bit 0.00 +0.5 0.49 ±104% perf-profile.children.cycles-pp._find_next_bit 0.00 +0.5 0.50 ± 20% perf-profile.children.cycles-pp.perf_iterate_sb 0.00 +0.5 0.50 ± 25% perf-profile.children.cycles-pp.sched_balance_softirq 0.00 +0.5 0.50 ± 42% perf-profile.children.cycles-pp.__perf_event_read 0.00 +0.5 0.51 ± 22% perf-profile.children.cycles-pp.rcu_do_batch 0.00 +0.5 0.51 ± 28% perf-profile.children.cycles-pp.quiet_vmstat 0.10 ± 5% +0.5 0.61 ± 36% perf-profile.children.cycles-pp.clockevents_program_event 0.00 +0.5 0.52 ± 26% perf-profile.children.cycles-pp.vma_interval_tree_insert 0.00 +0.5 0.53 ± 13% perf-profile.children.cycles-pp.zap_present_ptes 0.00 +0.5 0.53 ± 36% perf-profile.children.cycles-pp.hrtimer_start_range_ns 0.00 +0.5 0.54 ± 10% perf-profile.children.cycles-pp.evlist__id2evsel 0.00 +0.5 0.54 ± 21% perf-profile.children.cycles-pp.__collapse_huge_page_copy 0.00 +0.5 0.54 ± 20% perf-profile.children.cycles-pp.do_anonymous_page 0.00 +0.5 0.55 ± 28% perf-profile.children.cycles-pp.__lookup_slow 0.00 +0.5 0.55 ± 21% perf-profile.children.cycles-pp.kmem_cache_alloc_noprof 0.00 +0.6 0.55 ± 24% perf-profile.children.cycles-pp.__queue_work 0.00 +0.6 0.56 ± 22% perf-profile.children.cycles-pp.call_timer_fn 0.00 +0.6 0.56 ± 22% perf-profile.children.cycles-pp.__mmdrop 0.00 +0.6 0.56 ± 14% perf-profile.children.cycles-pp.run_timer_softirq 0.00 +0.6 0.56 ± 23% perf-profile.children.cycles-pp.fold_vm_numa_events 0.00 +0.6 0.57 ± 14% perf-profile.children.cycles-pp.force_qs_rnp 0.30 +0.6 0.86 ± 17% perf-profile.children.cycles-pp.ksys_write 0.28 +0.6 0.85 ± 18% perf-profile.children.cycles-pp.vfs_write 0.00 +0.6 0.58 ± 17% perf-profile.children.cycles-pp.copy_mc_enhanced_fast_string 0.00 +0.6 0.59 ± 37% perf-profile.children.cycles-pp.generic_exec_single 0.00 +0.6 0.60 ± 20% perf-profile.children.cycles-pp.native_irq_return_iret 0.00 +0.6 0.60 ± 17% perf-profile.children.cycles-pp.vmstat_start 0.00 +0.6 0.61 ± 7% perf-profile.children.cycles-pp.__mmap 0.00 +0.6 0.61 ± 13% perf-profile.children.cycles-pp.ct_kernel_enter 0.00 +0.6 0.61 ± 39% perf-profile.children.cycles-pp.smp_call_function_single 0.00 +0.6 0.61 ± 25% perf-profile.children.cycles-pp.__wait_for_common 0.00 +0.6 0.61 ± 19% perf-profile.children.cycles-pp.collapse_huge_page 0.00 +0.6 0.61 ± 37% perf-profile.children.cycles-pp.perf_event_read 0.00 +0.6 0.62 ± 17% perf-profile.children.cycles-pp.__run_timers 0.00 +0.6 0.62 ± 19% perf-profile.children.cycles-pp.hpage_collapse_scan_pmd 0.00 +0.6 0.62 ± 19% perf-profile.children.cycles-pp.khugepaged_scan_mm_slot 0.00 +0.6 0.62 ± 10% perf-profile.children.cycles-pp.zap_pte_range 0.00 +0.6 0.63 ± 19% perf-profile.children.cycles-pp.khugepaged 0.00 +0.6 0.64 ± 9% perf-profile.children.cycles-pp.zap_pmd_range 0.32 ± 2% +0.6 0.96 ± 18% perf-profile.children.cycles-pp.write 0.00 +0.7 0.65 ± 17% perf-profile.children.cycles-pp.perf_event_mmap 0.00 +0.7 0.65 ± 17% perf-profile.children.cycles-pp.perf_event_mmap_event 0.00 +0.7 0.67 ± 9% perf-profile.children.cycles-pp.unmap_page_range 0.00 +0.7 0.67 ± 15% perf-profile.children.cycles-pp.__do_set_cpus_allowed 0.00 +0.7 0.69 ± 12% perf-profile.children.cycles-pp.rcu_gp_fqs_loop 0.00 +0.7 0.71 ± 20% perf-profile.children.cycles-pp.__split_vma 0.00 +0.7 0.71 ± 15% perf-profile.children.cycles-pp.proc_reg_read_iter 0.00 +0.7 0.72 ± 13% perf-profile.children.cycles-pp.__open64_nocancel 0.00 +0.7 0.72 ± 14% perf-profile.children.cycles-pp.sched_exec 0.00 +0.7 0.72 ± 14% perf-profile.children.cycles-pp.ct_idle_exit 0.00 +0.7 0.72 ± 10% perf-profile.children.cycles-pp.unmap_vmas 0.00 +0.7 0.72 ± 9% perf-profile.children.cycles-pp.show_stat 0.00 +0.7 0.75 ± 19% perf-profile.children.cycles-pp.pipe_write 0.00 +0.8 0.76 ± 8% perf-profile.children.cycles-pp.rcu_gp_kthread 0.00 +0.8 0.77 ± 19% perf-profile.children.cycles-pp.__set_cpus_allowed_ptr_locked 0.00 +0.8 0.77 ± 13% perf-profile.children.cycles-pp.__x64_sys_vfork 0.00 +0.8 0.78 ± 15% perf-profile.children.cycles-pp.pipe_read 0.00 +0.8 0.78 ± 33% perf-profile.children.cycles-pp.__percpu_counter_init_many 0.00 +0.8 0.79 ± 14% perf-profile.children.cycles-pp.wake_up_new_task 0.00 +0.8 0.83 ± 12% perf-profile.children.cycles-pp.__get_next_timer_interrupt 0.00 +0.8 0.83 ± 19% perf-profile.children.cycles-pp.rcu_core 0.14 ± 3% +0.8 0.97 ± 14% perf-profile.children.cycles-pp.sched_tick 0.00 +0.9 0.86 ± 16% perf-profile.children.cycles-pp.walk_component 0.00 +0.9 0.89 ± 67% perf-profile.children.cycles-pp.tick_do_update_jiffies64 0.00 +0.9 0.94 ± 56% perf-profile.children.cycles-pp.drain_zone_pages 0.00 +1.0 0.96 ± 16% perf-profile.children.cycles-pp.dup_mm 0.00 +1.0 0.97 ± 17% perf-profile.children.cycles-pp.exec_mmap 0.00 +1.0 0.98 ± 13% perf-profile.children.cycles-pp.__vfork 0.00 +1.0 0.98 ± 14% perf-profile.children.cycles-pp.do_vmi_align_munmap 0.00 +1.0 0.98 ± 11% perf-profile.children.cycles-pp.tick_nohz_restart_sched_tick 0.00 +1.0 0.99 ± 15% perf-profile.children.cycles-pp.next_uptodate_folio 0.00 +1.0 1.00 ± 18% perf-profile.children.cycles-pp.tick_nohz_next_event 0.00 +1.0 1.02 ± 15% perf-profile.children.cycles-pp.move_queued_task 0.53 ± 12% +1.0 1.56 ± 6% perf-profile.children.cycles-pp.select_task_rq_fair 0.00 +1.0 1.05 ± 17% perf-profile.children.cycles-pp.affine_move_task 0.00 +1.0 1.05 ± 14% perf-profile.children.cycles-pp.elf_load 0.00 +1.1 1.06 ± 23% perf-profile.children.cycles-pp.link_path_walk 0.00 +1.1 1.08 ± 16% perf-profile.children.cycles-pp.do_vmi_munmap 0.00 +1.1 1.10 ± 12% perf-profile.children.cycles-pp.begin_new_exec 0.00 +1.1 1.11 ± 36% perf-profile.children.cycles-pp.perf_evsel__read 0.00 +1.1 1.15 ± 11% perf-profile.children.cycles-pp.exit_mm 0.00 +1.2 1.15 ± 16% perf-profile.children.cycles-pp.migration_cpu_stop 0.00 +1.2 1.16 ± 14% perf-profile.children.cycles-pp.intel_idle 0.23 ± 2% +1.2 1.40 ± 16% perf-profile.children.cycles-pp.update_rq_clock_task 0.00 +1.2 1.18 ± 16% perf-profile.children.cycles-pp.cpu_stopper_thread 0.00 +1.3 1.29 ± 17% perf-profile.children.cycles-pp.tick_nohz_get_sleep_length 0.00 +1.3 1.29 ± 7% perf-profile.children.cycles-pp.__x64_sys_exit_group 0.00 +1.3 1.29 ± 7% perf-profile.children.cycles-pp.do_group_exit 0.00 +1.3 1.31 ± 10% perf-profile.children.cycles-pp.sched_balance_update_blocked_averages 0.00 +1.3 1.31 ± 23% perf-profile.children.cycles-pp.decay_pcp_high 0.00 +1.3 1.32 ± 25% perf-profile.children.cycles-pp.__memset 0.00 +1.3 1.34 ± 13% perf-profile.children.cycles-pp.setlocale 0.00 +1.4 1.35 ± 17% perf-profile.children.cycles-pp.tick_nohz_stop_tick 0.00 +1.4 1.36 ± 28% perf-profile.children.cycles-pp.perf_read 0.00 +1.4 1.38 ± 16% perf-profile.children.cycles-pp.tick_nohz_idle_stop_tick 0.00 +1.4 1.39 ± 6% perf-profile.children.cycles-pp.update_sg_wakeup_stats 0.00 +1.4 1.40 ± 13% perf-profile.children.cycles-pp.tick_nohz_idle_exit 0.00 +1.4 1.42 ± 7% perf-profile.children.cycles-pp.sched_balance_find_dst_group 0.00 +1.4 1.44 ± 7% perf-profile.children.cycles-pp.sched_balance_find_dst_cpu 0.00 +1.5 1.45 ± 48% perf-profile.children.cycles-pp.tick_irq_enter 0.00 +1.5 1.48 ± 48% perf-profile.children.cycles-pp.irq_enter_rcu 0.00 +1.5 1.48 ± 10% perf-profile.children.cycles-pp.filemap_map_pages 0.00 +1.5 1.48 ± 18% perf-profile.children.cycles-pp.idle_cpu 0.00 +1.6 1.55 ± 14% perf-profile.children.cycles-pp.copy_process 0.00 +1.6 1.55 ± 28% perf-profile.children.cycles-pp.pcpu_alloc_noprof 0.00 +1.6 1.55 ± 95% perf-profile.children.cycles-pp.drm_atomic_helper_dirtyfb 0.00 +1.6 1.55 ± 95% perf-profile.children.cycles-pp.drm_fb_helper_damage_work 0.00 +1.6 1.55 ± 95% perf-profile.children.cycles-pp.drm_fbdev_shmem_helper_fb_dirty 0.00 +1.6 1.58 ± 14% perf-profile.children.cycles-pp.exit_mmap 0.00 +1.6 1.58 ± 13% perf-profile.children.cycles-pp.mmput 0.00 +1.6 1.59 ± 12% perf-profile.children.cycles-pp.__do_sys_clone 0.00 +1.6 1.60 ± 10% perf-profile.children.cycles-pp.do_read_fault 0.00 +1.7 1.71 ± 4% perf-profile.children.cycles-pp.do_exit 0.00 +1.8 1.78 ± 8% perf-profile.children.cycles-pp.ksys_mmap_pgoff 0.12 ± 3% +1.8 1.92 ± 8% perf-profile.children.cycles-pp.x64_sys_call 0.00 +1.8 1.82 ± 9% perf-profile.children.cycles-pp._Fork 0.26 ± 4% +1.8 2.09 ± 18% perf-profile.children.cycles-pp.update_process_times 0.00 +1.8 1.85 ± 18% perf-profile.children.cycles-pp.raw_spin_rq_lock_nested 0.00 +1.9 1.86 ± 9% perf-profile.children.cycles-pp.path_openat 0.00 +1.9 1.86 ± 9% perf-profile.children.cycles-pp.do_fault 0.00 +1.9 1.87 ± 9% perf-profile.children.cycles-pp.__set_cpus_allowed_ptr 0.00 +1.9 1.89 ± 6% perf-profile.children.cycles-pp.__x64_sys_openat 0.00 +1.9 1.89 ± 9% perf-profile.children.cycles-pp.do_filp_open 0.00 +1.9 1.91 ± 13% perf-profile.children.cycles-pp.alloc_bprm 0.00 +2.0 1.96 ± 7% perf-profile.children.cycles-pp.do_sys_openat2 0.00 +2.1 2.13 ± 24% perf-profile.children.cycles-pp.schedule_idle 0.00 +2.1 2.15 ± 15% perf-profile.children.cycles-pp.evsel__read_counter 0.00 +2.2 2.16 ± 8% perf-profile.children.cycles-pp.seq_read_iter 0.00 +2.2 2.18 ± 18% perf-profile.children.cycles-pp.mm_init 0.00 +2.2 2.24 ± 7% perf-profile.children.cycles-pp.mmap_region 0.00 +2.2 2.24 ± 9% perf-profile.children.cycles-pp.__sched_setaffinity 0.00 +2.3 2.31 ± 27% perf-profile.children.cycles-pp.readn 0.00 +2.4 2.36 ± 8% perf-profile.children.cycles-pp.kernel_clone 0.00 +2.4 2.36 ± 45% perf-profile.children.cycles-pp.rest_init 0.00 +2.4 2.36 ± 45% perf-profile.children.cycles-pp.start_kernel 0.00 +2.4 2.36 ± 45% perf-profile.children.cycles-pp.x86_64_start_kernel 0.00 +2.4 2.36 ± 45% perf-profile.children.cycles-pp.x86_64_start_reservations 0.28 ± 4% +2.4 2.69 ± 14% perf-profile.children.cycles-pp.tick_nohz_handler 0.00 +2.4 2.42 ± 12% perf-profile.children.cycles-pp.menu_select 0.00 +2.4 2.43 ± 5% perf-profile.children.cycles-pp.do_mmap 0.00 +2.5 2.45 ± 32% perf-profile.children.cycles-pp.vmstat_update 0.00 +2.6 2.57 ± 31% perf-profile.children.cycles-pp.refresh_cpu_vm_stats 0.00 +2.6 2.62 ± 11% perf-profile.children.cycles-pp.__x64_sys_sched_setaffinity 0.00 +2.7 2.67 ± 4% perf-profile.children.cycles-pp.vm_mmap_pgoff 0.29 ± 4% +2.9 3.17 ± 13% perf-profile.children.cycles-pp.__hrtimer_run_queues 0.00 +3.0 2.99 ± 6% perf-profile.children.cycles-pp.load_elf_binary 0.00 +3.1 3.10 ± 5% perf-profile.children.cycles-pp.search_binary_handler 0.00 +3.1 3.10 ± 6% perf-profile.children.cycles-pp.exec_binprm 0.00 +3.1 3.12 ± 8% perf-profile.children.cycles-pp.__handle_mm_fault 0.00 +3.2 3.23 ± 8% perf-profile.children.cycles-pp.handle_mm_fault 0.00 +3.4 3.36 ± 8% perf-profile.children.cycles-pp.sched_balance_domains 0.00 +3.5 3.46 ± 9% perf-profile.children.cycles-pp.do_user_addr_fault 0.00 +3.5 3.46 ± 9% perf-profile.children.cycles-pp.exc_page_fault 0.41 ± 2% +3.8 4.17 ± 13% perf-profile.children.cycles-pp.hrtimer_interrupt 0.42 ± 2% +3.9 4.28 ± 12% perf-profile.children.cycles-pp.__sysvec_apic_timer_interrupt 0.46 ± 4% +3.9 4.33 ± 15% perf-profile.children.cycles-pp._raw_spin_lock 0.00 +3.9 3.91 ± 4% perf-profile.children.cycles-pp.bprm_execve 0.00 +4.0 4.00 ± 8% perf-profile.children.cycles-pp.asm_exc_page_fault 0.00 +4.1 4.14 ± 11% perf-profile.children.cycles-pp.evlist_cpu_iterator__next 0.00 +4.9 4.89 ± 6% perf-profile.children.cycles-pp.vfs_read 0.01 ±223% +5.0 5.02 ± 34% perf-profile.children.cycles-pp.process_one_work 0.00 +5.2 5.24 ± 7% perf-profile.children.cycles-pp.ksys_read 0.00 +5.4 5.40 ± 19% perf-profile.children.cycles-pp._nohz_idle_balance 0.00 +5.6 5.61 ± 8% perf-profile.children.cycles-pp.balance_fair 0.00 +5.7 5.68 ± 6% perf-profile.children.cycles-pp.read 0.01 ±223% +5.9 5.93 ± 31% perf-profile.children.cycles-pp.worker_thread 0.00 +6.0 5.96 ± 11% perf-profile.children.cycles-pp.sched_setaffinity 0.00 +6.4 6.42 ± 3% perf-profile.children.cycles-pp.execve 0.00 +6.4 6.44 ± 3% perf-profile.children.cycles-pp.do_execveat_common 0.00 +6.5 6.46 ± 3% perf-profile.children.cycles-pp.__x64_sys_execve 0.00 +6.5 6.54 ± 9% perf-profile.children.cycles-pp.sched_balance_newidle 0.00 +7.5 7.52 ± 7% perf-profile.children.cycles-pp.smpboot_thread_fn 0.00 +7.9 7.86 ± 16% perf-profile.children.cycles-pp.read_counters 0.00 +7.9 7.90 ± 9% perf-profile.children.cycles-pp.update_sg_lb_stats 0.00 +8.0 8.02 ± 15% perf-profile.children.cycles-pp.dispatch_events 0.00 +8.0 8.02 ± 15% perf-profile.children.cycles-pp.process_interval 0.00 +8.0 8.03 ± 15% perf-profile.children.cycles-pp.cmd_stat 0.40 +8.2 8.56 ± 14% perf-profile.children.cycles-pp.main 0.40 +8.2 8.56 ± 14% perf-profile.children.cycles-pp.run_builtin 0.00 +8.4 8.38 ± 8% perf-profile.children.cycles-pp.update_sd_lb_stats 0.00 +8.5 8.46 ± 8% perf-profile.children.cycles-pp.sched_balance_find_src_group 0.33 +8.6 8.96 ± 26% perf-profile.children.cycles-pp._raw_spin_lock_irq 0.00 +9.2 9.17 ± 26% perf-profile.children.cycles-pp.tmigr_handle_remote_up 0.00 +9.2 9.20 ± 8% perf-profile.children.cycles-pp.sched_balance_rq 0.00 +9.5 9.53 ± 25% perf-profile.children.cycles-pp.tmigr_handle_remote 0.00 +10.5 10.45 ± 10% perf-profile.children.cycles-pp.intel_idle_xstate 0.01 ±223% +15.0 15.04 ± 14% perf-profile.children.cycles-pp.kthread 0.01 ±223% +15.3 15.28 ± 14% perf-profile.children.cycles-pp.ret_from_fork 0.01 ±223% +15.3 15.33 ± 14% perf-profile.children.cycles-pp.ret_from_fork_asm 0.00 +15.3 15.34 ± 18% perf-profile.children.cycles-pp.__irq_exit_rcu 0.45 ± 2% +20.6 21.08 ± 15% perf-profile.children.cycles-pp.sysvec_apic_timer_interrupt 0.50 ± 2% +21.1 21.62 ± 14% perf-profile.children.cycles-pp.asm_sysvec_apic_timer_interrupt 0.01 ±223% +35.4 35.45 ± 9% perf-profile.children.cycles-pp.cpuidle_enter_state 0.01 ±223% +35.5 35.48 ± 9% perf-profile.children.cycles-pp.cpuidle_enter 0.02 ±146% +40.1 40.10 ± 8% perf-profile.children.cycles-pp.cpuidle_idle_call 0.03 ±144% +47.1 47.18 ± 7% perf-profile.children.cycles-pp.start_secondary 0.03 ±148% +49.5 49.53 ± 5% perf-profile.children.cycles-pp.do_idle 0.03 ±145% +49.5 49.54 ± 5% perf-profile.children.cycles-pp.common_startup_64 0.03 ±145% +49.5 49.54 ± 5% perf-profile.children.cycles-pp.cpu_startup_entry 20.82 -9.3 11.47 ± 19% perf-profile.self.cycles-pp.native_queued_spin_lock_slowpath 5.48 -5.3 0.14 ± 49% perf-profile.self.cycles-pp._copy_to_iter 2.56 ± 9% -2.5 0.06 ± 73% perf-profile.self.cycles-pp.__mod_memcg_state 1.64 -1.4 0.28 ± 22% perf-profile.self.cycles-pp.switch_mm_irqs_off 1.15 -0.9 0.29 ± 37% perf-profile.self.cycles-pp.__schedule 0.98 -0.8 0.14 ± 60% perf-profile.self.cycles-pp.restore_fpregs_from_fpstate 0.79 -0.7 0.04 ±103% perf-profile.self.cycles-pp.__fdget 0.88 -0.6 0.24 ± 43% perf-profile.self.cycles-pp.read_tsc 0.56 -0.5 0.09 ± 53% perf-profile.self.cycles-pp.syscall_exit_to_user_mode 0.56 -0.5 0.10 ± 62% perf-profile.self.cycles-pp.entry_SYSRETQ_unsafe_stack 0.54 -0.4 0.09 ± 51% perf-profile.self.cycles-pp.check_heap_object 0.68 -0.4 0.26 ± 34% perf-profile.self.cycles-pp.__switch_to 0.60 -0.4 0.20 ± 49% perf-profile.self.cycles-pp.kmem_cache_free 0.41 ± 2% -0.4 0.06 ±101% perf-profile.self.cycles-pp.__virt_addr_valid 0.49 -0.3 0.16 ± 33% perf-profile.self.cycles-pp.__update_load_avg_se 0.41 -0.3 0.08 ± 82% perf-profile.self.cycles-pp.prepare_task_switch 0.44 -0.3 0.13 ± 48% perf-profile.self.cycles-pp.update_curr 0.36 -0.3 0.05 ± 75% perf-profile.self.cycles-pp.do_syscall_64 0.52 -0.3 0.23 ± 14% perf-profile.self.cycles-pp.__switch_to_asm 0.32 ± 2% -0.3 0.05 ±103% perf-profile.self.cycles-pp.pick_next_task_fair 0.32 -0.3 0.06 ±108% perf-profile.self.cycles-pp.syscall_return_via_sysret 0.32 ± 3% -0.2 0.08 ± 77% perf-profile.self.cycles-pp.update_cfs_group 0.28 -0.2 0.05 ±114% perf-profile.self.cycles-pp.pick_eevdf 0.29 -0.2 0.08 ± 81% perf-profile.self.cycles-pp.handle_softirqs 0.42 -0.2 0.22 ± 53% perf-profile.self.cycles-pp.__update_load_avg_cfs_rq 0.67 -0.2 0.50 ± 15% perf-profile.self.cycles-pp.update_load_avg 0.26 -0.2 0.10 ± 50% perf-profile.self.cycles-pp.rmqueue_bulk 0.21 -0.1 0.07 ± 73% perf-profile.self.cycles-pp.schedule 0.30 -0.1 0.18 ± 30% perf-profile.self.cycles-pp.__get_user_8 0.24 -0.1 0.12 ± 62% perf-profile.self.cycles-pp.irqtime_account_irq 0.24 ± 5% -0.1 0.12 ± 57% perf-profile.self.cycles-pp.cgroup_rstat_updated 0.05 +0.1 0.12 ± 24% perf-profile.self.cycles-pp.mm_cid_get 0.00 +0.1 0.09 ± 23% perf-profile.self.cycles-pp.obj_cgroup_charge 0.00 +0.1 0.09 ± 29% perf-profile.self.cycles-pp.sched_balance_trigger 0.00 +0.1 0.09 ± 32% perf-profile.self.cycles-pp.set_pte_range 0.00 +0.1 0.10 ± 26% perf-profile.self.cycles-pp.kcpustat_cpu_fetch 0.00 +0.1 0.10 ± 42% perf-profile.self.cycles-pp.error_entry 0.00 +0.1 0.11 ± 21% perf-profile.self.cycles-pp.__mbrtowc 0.00 +0.1 0.12 ± 29% perf-profile.self.cycles-pp.__kmalloc_noprof 0.00 +0.1 0.12 ± 41% perf-profile.self.cycles-pp.tmigr_quick_check 0.08 +0.1 0.20 ± 23% perf-profile.self.cycles-pp.update_irq_load_avg 0.00 +0.1 0.12 ± 54% perf-profile.self.cycles-pp.mmap_region 0.00 +0.1 0.13 ± 37% perf-profile.self.cycles-pp.read 0.00 +0.1 0.13 ± 42% perf-profile.self.cycles-pp.run_posix_cpu_timers 0.00 +0.1 0.13 ± 34% perf-profile.self.cycles-pp.update_dl_rq_load_avg 0.00 +0.1 0.14 ± 20% perf-profile.self.cycles-pp.update_group_capacity 0.00 +0.1 0.14 ± 34% perf-profile.self.cycles-pp.timekeeping_advance 0.00 +0.1 0.14 ± 36% perf-profile.self.cycles-pp.tsc_verify_tsc_adjust 0.00 +0.1 0.14 ± 24% perf-profile.self.cycles-pp.vma_interval_tree_remove 0.00 +0.1 0.15 ± 56% perf-profile.self.cycles-pp.sched_balance_update_blocked_averages 0.00 +0.2 0.15 ± 18% perf-profile.self.cycles-pp.tick_nohz_idle_got_tick 0.00 +0.2 0.15 ± 36% perf-profile.self.cycles-pp.free_pcppages_bulk 0.00 +0.2 0.15 ± 14% perf-profile.self.cycles-pp.pipe_read 0.00 +0.2 0.15 ± 31% perf-profile.self.cycles-pp.acpi_ex_system_memory_space_handler 0.00 +0.2 0.16 ± 42% perf-profile.self.cycles-pp._compound_head 0.00 +0.2 0.16 ± 34% perf-profile.self.cycles-pp.vfs_read 0.00 +0.2 0.16 ± 35% perf-profile.self.cycles-pp.rcu_pending 0.00 +0.2 0.16 ± 46% perf-profile.self.cycles-pp.need_update 0.00 +0.2 0.17 ± 46% perf-profile.self.cycles-pp.kmem_cache_alloc_noprof 0.00 +0.2 0.18 ± 30% perf-profile.self.cycles-pp.affinity__set 0.00 +0.2 0.18 ± 36% perf-profile.self.cycles-pp.arch_scale_freq_tick 0.00 +0.2 0.18 ± 45% perf-profile.self.cycles-pp.do_idle 0.00 +0.2 0.18 ± 35% perf-profile.self.cycles-pp.__memcg_slab_post_alloc_hook 0.00 +0.2 0.19 ± 40% perf-profile.self.cycles-pp.evlist_cpu_iterator__next 0.00 +0.2 0.19 ± 39% perf-profile.self.cycles-pp.zap_present_ptes 0.00 +0.2 0.20 ± 49% perf-profile.self.cycles-pp.lapic_next_deadline 0.05 +0.2 0.25 ± 30% perf-profile.self.cycles-pp.get_jiffies_update 0.00 +0.2 0.20 ± 28% perf-profile.self.cycles-pp.__d_lookup_rcu 0.00 +0.2 0.20 ± 42% perf-profile.self.cycles-pp.mas_walk 0.00 +0.2 0.20 ± 34% perf-profile.self.cycles-pp.strnlen_user 0.00 +0.2 0.20 ± 20% perf-profile.self.cycles-pp.__memcpy 0.00 +0.2 0.21 ± 47% perf-profile.self.cycles-pp.irqtime_account_process_tick 0.00 +0.2 0.22 ± 25% perf-profile.self.cycles-pp.sync_regs 0.00 +0.2 0.22 ± 49% perf-profile.self.cycles-pp.refresh_cpu_vm_stats 0.00 +0.2 0.22 ± 29% perf-profile.self.cycles-pp.__tmigr_cpu_activate 0.00 +0.2 0.22 ± 18% perf-profile.self.cycles-pp.down_write 0.00 +0.2 0.22 ± 13% perf-profile.self.cycles-pp._find_next_bit 0.00 +0.2 0.23 ± 38% perf-profile.self.cycles-pp.cpuidle_idle_call 0.00 +0.2 0.23 ± 36% perf-profile.self.cycles-pp.mutex_unlock 0.00 +0.3 0.25 ± 13% perf-profile.self.cycles-pp.filemap_map_pages 0.00 +0.3 0.26 ± 30% perf-profile.self.cycles-pp.dyntick_save_progress_counter 0.00 +0.3 0.26 ± 41% perf-profile.self.cycles-pp.memchr_inv 0.00 +0.3 0.27 ± 26% perf-profile.self.cycles-pp._IO_fwrite 0.00 +0.3 0.27 ± 42% perf-profile.self.cycles-pp.__slab_free 0.00 +0.3 0.28 ± 34% perf-profile.self.cycles-pp.sched_balance_newidle 0.00 +0.3 0.28 ± 35% perf-profile.self.cycles-pp.__update_blocked_fair 0.00 +0.3 0.28 ± 28% perf-profile.self.cycles-pp.tmigr_handle_remote 0.00 +0.3 0.28 ± 32% perf-profile.self.cycles-pp.mutex_lock 0.00 +0.3 0.28 ± 29% perf-profile.self.cycles-pp.evsel__read_counter 0.00 +0.3 0.28 ± 34% perf-profile.self.cycles-pp.kfree 0.00 +0.3 0.29 ± 28% perf-profile.self.cycles-pp.all_vm_events 0.00 +0.3 0.30 ± 28% perf-profile.self.cycles-pp.mm_init_cid 0.00 +0.3 0.30 ± 26% perf-profile.self.cycles-pp.update_sd_lb_stats 0.00 +0.3 0.30 ± 33% perf-profile.self.cycles-pp.poll_idle 0.00 +0.3 0.30 ± 26% perf-profile.self.cycles-pp.ktime_get_update_offsets_now 0.00 +0.3 0.30 ± 18% perf-profile.self.cycles-pp.tick_nohz_next_event 0.00 +0.3 0.31 ± 22% perf-profile.self.cycles-pp.cpu_util 0.00 +0.3 0.31 ± 39% perf-profile.self.cycles-pp.__fdget_pos 0.00 +0.3 0.32 ± 22% perf-profile.self.cycles-pp.sched_balance_rq 0.00 +0.3 0.32 ± 19% perf-profile.self.cycles-pp.ct_kernel_enter 0.00 +0.3 0.34 ± 37% perf-profile.self.cycles-pp.nr_iowait_cpu 0.00 +0.3 0.34 ± 37% perf-profile.self.cycles-pp.__percpu_counter_sum 0.00 +0.3 0.34 ± 24% perf-profile.self.cycles-pp.ct_kernel_exit_state 0.70 +0.4 1.09 ± 15% perf-profile.self.cycles-pp._raw_spin_lock_irqsave 0.07 ± 35% +0.4 0.50 ± 21% perf-profile.self.cycles-pp._find_next_and_bit 0.31 +0.5 0.76 ± 21% perf-profile.self.cycles-pp._raw_spin_lock_irq 0.00 +0.5 0.48 ± 28% perf-profile.self.cycles-pp.mm_init 0.00 +0.5 0.50 ± 17% perf-profile.self.cycles-pp.evlist__id2evsel 0.00 +0.5 0.52 ± 24% perf-profile.self.cycles-pp.vma_interval_tree_insert 0.00 +0.5 0.53 ± 27% perf-profile.self.cycles-pp.read_counters 0.00 +0.6 0.56 ± 23% perf-profile.self.cycles-pp.fold_vm_numa_events 0.00 +0.6 0.58 ± 17% perf-profile.self.cycles-pp.copy_mc_enhanced_fast_string 0.00 +0.6 0.60 ± 20% perf-profile.self.cycles-pp.native_irq_return_iret 0.00 +0.7 0.75 ± 27% perf-profile.self.cycles-pp.menu_select 0.00 +0.9 0.90 ± 11% perf-profile.self.cycles-pp.next_uptodate_folio 0.00 +0.9 0.91 ± 15% perf-profile.self.cycles-pp.cpuidle_enter_state 0.00 +1.0 0.96 ± 23% perf-profile.self.cycles-pp._nohz_idle_balance 0.14 ± 3% +1.1 1.26 ± 16% perf-profile.self.cycles-pp.update_rq_clock_task 0.00 +1.2 1.16 ± 14% perf-profile.self.cycles-pp.intel_idle 0.00 +1.3 1.29 ± 9% perf-profile.self.cycles-pp.update_sg_wakeup_stats 0.00 +1.3 1.30 ± 25% perf-profile.self.cycles-pp.__memset 0.00 +1.4 1.44 ± 17% perf-profile.self.cycles-pp.idle_cpu 0.45 ± 4% +2.4 2.90 ± 14% perf-profile.self.cycles-pp._raw_spin_lock 0.00 +6.2 6.20 ± 5% perf-profile.self.cycles-pp.update_sg_lb_stats 0.00 +10.4 10.43 ± 10% perf-profile.self.cycles-pp.intel_idle_xstate Disclaimer: Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance.
On Thu, 15 Aug 2024 19:14:12 Jason Xing <kerneljasonxing@gmail.com> wrote: > On Thu, Aug 15, 2024 at 5:50 PM sunyiqi <sunyiqixm@gmail.com> wrote: > > > > When investigating the kcm socket UAF which is also found by syzbot, > > I found that the root cause of this problem is actually in > > sk_wait_event. > > > > In sk_wait_event, sk is released and relocked and called by > > sk_stream_wait_memory. Protocols like tcp, kcm, etc., called it in some > > ops function like *sendmsg which will lock the sk at the beginning. > > But sk_stream_wait_memory releases sk unexpectedly and destroy > > the thread safety. Finally it causes the kcm sk UAF. > > > > If at the time when a thread(thread A) calls sk_stream_wait_memory > > and the other thread(thread B) is waiting for lock in lock_sock, > > thread B will successfully get the sk lock as thread A release sk lock > > in sk_wait_event. > > > > The thread B may change the sk which is not thread A expecting. > > > > As a result, it will lead kernel to the unexpected behavior. Just like > > the kcm sk UAF, which is actually cause by sk_wait_event in > > sk_stream_wait_memory. > > > > Previous commit d9dc8b0f8b4e ("net: fix sleeping for sk_wait_event()") > > in 2016 seems do not solved this problem. Is it necessary to release > > sock in sk_wait_event? Or just delete it to make the protocol ops > > thread-secure. > > > > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") > > Link: https://syzkaller.appspot.com/bug?extid=b72d86aa5df17ce74c60 > > Signed-off-by: sunyiqi <sunyiqixm@gmail.com> > > --- > > include/net/sock.h | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/include/net/sock.h b/include/net/sock.h > > index cce23ac4d514..08d3b204b019 100644 > > --- a/include/net/sock.h > > +++ b/include/net/sock.h > > @@ -1145,7 +1145,6 @@ static inline void sock_rps_reset_rxhash(struct sock *sk) > > > > #define sk_wait_event(__sk, __timeo, __condition, __wait) \ > > ({ int __rc, __dis = __sk->sk_disconnects; \ > > - release_sock(__sk); \ > > __rc = __condition; \ > > if (!__rc) { \ > > *(__timeo) = wait_woken(__wait, \ > > @@ -1153,7 +1152,6 @@ static inline void sock_rps_reset_rxhash(struct sock *sk) > > *(__timeo)); \ > > } \ > > sched_annotate_sleep(); \ > > - lock_sock(__sk); \ > > Are you sure that you want the socket lock to be held possibly for a > really long time even if it has to wait for the available memory, > which means, during this period, other threads trying to access the > lock will be blocked? > > Thanks, > Jason You're correct. Sorry for my poor knowledge of kernel. But I think kcm socket UAF vulnerability is not the last one which use kernel API correctly(?) but result in vulnerability. Though the kcm developer can fix(and already fixed) this issue by adding more lock in kcm sock, but, just the same question, what's the root cause of this issue? Is kcm socket code or sk_wait_event release the sock? Thanks, Yiqi Sun
diff --git a/include/net/sock.h b/include/net/sock.h index cce23ac4d514..08d3b204b019 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -1145,7 +1145,6 @@ static inline void sock_rps_reset_rxhash(struct sock *sk) #define sk_wait_event(__sk, __timeo, __condition, __wait) \ ({ int __rc, __dis = __sk->sk_disconnects; \ - release_sock(__sk); \ __rc = __condition; \ if (!__rc) { \ *(__timeo) = wait_woken(__wait, \ @@ -1153,7 +1152,6 @@ static inline void sock_rps_reset_rxhash(struct sock *sk) *(__timeo)); \ } \ sched_annotate_sleep(); \ - lock_sock(__sk); \ __rc = __dis == __sk->sk_disconnects ? __condition : -EPIPE; \ __rc; \ })
When investigating the kcm socket UAF which is also found by syzbot, I found that the root cause of this problem is actually in sk_wait_event. In sk_wait_event, sk is released and relocked and called by sk_stream_wait_memory. Protocols like tcp, kcm, etc., called it in some ops function like *sendmsg which will lock the sk at the beginning. But sk_stream_wait_memory releases sk unexpectedly and destroy the thread safety. Finally it causes the kcm sk UAF. If at the time when a thread(thread A) calls sk_stream_wait_memory and the other thread(thread B) is waiting for lock in lock_sock, thread B will successfully get the sk lock as thread A release sk lock in sk_wait_event. The thread B may change the sk which is not thread A expecting. As a result, it will lead kernel to the unexpected behavior. Just like the kcm sk UAF, which is actually cause by sk_wait_event in sk_stream_wait_memory. Previous commit d9dc8b0f8b4e ("net: fix sleeping for sk_wait_event()") in 2016 seems do not solved this problem. Is it necessary to release sock in sk_wait_event? Or just delete it to make the protocol ops thread-secure. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Link: https://syzkaller.appspot.com/bug?extid=b72d86aa5df17ce74c60 Signed-off-by: sunyiqi <sunyiqixm@gmail.com> --- include/net/sock.h | 2 -- 1 file changed, 2 deletions(-)