public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Kanner <andrew.kanner@gmail.com>
To: Jesper Dangaard Brouer <jbrouer@redhat.com>
Cc: Paolo Abeni <pabeni@redhat.com>, Jason Wang <jasowang@redhat.com>,
	David Ahern <dsahern@gmail.com>,
	brouer@redhat.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-kernel-mentees@lists.linuxfoundation.org,
	syzbot+f817490f5bd20541b90a@syzkaller.appspotmail.com,
	John Fastabend <john.fastabend@gmail.com>
Subject: Re: [PATCH v3] drivers: net: prevent tun_get_user() to exceed xdp size limits
Date: Fri, 28 Jul 2023 02:48:21 +0300	[thread overview]
Message-ID: <64c30249.2e0a0220.f779a.1c31@mx.google.com> (raw)
In-Reply-To: <3659ea35-8d03-aae7-53c0-09181bb1b69d@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 5255 bytes --]

On Thu, Jul 27, 2023 at 01:13:10PM +0200, Jesper Dangaard Brouer wrote:
> 
> 
> On 27/07/2023 11.30, Paolo Abeni wrote:
> > On Thu, 2023-07-27 at 14:07 +0800, Jason Wang wrote:
> > > On Thu, Jul 27, 2023 at 8:27 AM David Ahern <dsahern@gmail.com> wrote:
> > > > 
> > > > On 7/26/23 1:37 PM, David Ahern wrote:
> > > > > On 7/26/23 3:02 AM, Jesper Dangaard Brouer wrote:
> > > > > > Cc. John and Ahern
> > > > > > 
> > > > > > On 26/07/2023 04.09, Jason Wang wrote:
> > > > > > > On Tue, Jul 25, 2023 at 11:54 PM Andrew Kanner
> > > > > > > <andrew.kanner@gmail.com> wrote:
> > > > > > > > 
> > > > > > > > Syzkaller reported the following issue:
> > > > > > > > =======================================
> > > > > > > > Too BIG xdp->frame_sz = 131072
> > > > > > 
> > > > > > Is this a contiguous physical memory allocation?
> > > > > > 
> > > > > > 131072 bytes equal order 5 page.
> > > > > > 
> > > > > > Looking at tun.c code I cannot find a code path that could create
> > > > > > order-5 skb->data, but only SKB with order-0 fragments.  But I guess it
> > > > > > is the netif_receive_generic_xdp() what will realloc to make this linear
> > > > > > (via skb_linearize())
> > > > > 
> > > > > 
> > > > > get_tun_user is passed an iov_iter with a single segment of 65007
> > > > > total_len. The alloc_skb path is hit with an align size of only 64. That
> > > > > is insufficient for XDP so the netif_receive_generic_xdp hits the
> > > > > pskb_expand_head path. Something is off in the math in
> > > > > netif_receive_generic_xdp resulting in the skb markers being off. That
> > > > > causes bpf_prog_run_generic_xdp to compute the wrong frame_sz.
> > > > 
> > > > 
> > > > BTW, it is pskb_expand_head that turns it from a 64kB to a 128 kB
> > > > allocation. But the 128kB part is not relevant to the "bug" here really.
> > > > 
> 
> True, it is another "bug"/unexpected-behavior that SKB gets reallocated
> to be 128KiB. We should likely solve this in another patch.
> 
> > > > The warn on getting tripped in bpf_xdp_adjust_tail is because xdp
> > > > generic path is skb based and can have a frame_sz > 4kB. That's what the
> > > > splat is about.
> 
> Agree, that the warn condition should be changed, even removed.
> It is interesting that this warn caught this unexpected-behavior of
> expanding to 128KiB.
> 
> > > 
> > > Other possibility:
> > > 
> > > tun_can_build_skb() doesn't count XDP_PACKET_HEADROOM this may end up
> > > with producing a frame_sz which is greater than PAGE_SIZE as well in
> > > tun_build_skb().
> 
> True, and the way I read the tun_build_skb() code, via
> skb_page_frag_refill(),
> it can produce an SKB with data size (buflen) upto order-3 = 32KiB
> (SKB_FRAG_PAGE_ORDER).
> 
> Thus, the existing check in tun_can_build_skb() for PAGE_SIZE can/should be
> relaxed?
> (Please correct me as I don't fully understand tun_get_user() code)
> 
> > > 
> > > And rethink this patch, it looks wrong since it basically drops all
> > > packets whose buflen is greater than PAGE_SIZE since it can't fall
> > > back to tun_alloc_skb().
> > > 
> 
> I agree, this is why I reacted, as this version of the patch could
> potentially cause issues and packet drops.
> 
> > > > 
> > > > Perhaps the solution is to remove the WARN_ON.
> > > 
> > > Yes, that is what I'm asking if this warning still makes sense in V1.
> > 
> > I understand the consensus is solving the issue by changing/removing
> > the WARN_ON() in XDP. I think it makes sense, I guess the same warn can
> > be reached via packet socket xmit on veth or similar topology.
> > 
> 
> Yes, we can completely remove this check.  The original intend was to
> catch cases where XDP drivers have not been updated to use xdp.frame_sz,
> but that is not longer a concern (since xdp_init_buff).
> 
> It was added (by me) in commit:
>  - c8741e2bfe87 ("xdp: Allow bpf_xdp_adjust_tail() to grow packet size")
>    - v5.8-rc1
>  - as part of merge 5cc5924d8315
> 
> I'm sure it is safe to remove since commit:
>  - 43b5169d8355 ("net, xdp: Introduce xdp_init_buff utility routine")
>    - v5.12-rc1
> 
> where we introduced xdp_init_buff() helper, which all XDP driver use today.
> Question is what "Fixes:" tag should the patch have?
> 
> To Andrew, will you
>  (1) send a new patch that removes this check instead?
>  (2) have cycles to investigate why the unexpected-behavior of
> expanding to 128KiB happens?
> 
> --Jesper
> 

Thanks, everyone.

If we summarize the discussion - there are 3 issues here:
1. tun_can_build_skb() doesn't count XDP_PACKET_HEADROOM (minor and
   most trivial)
2. WARN_ON_ONCE from net/core/filter.c, which may be too strict / not
   needed at all.
3. strange behaviour with reallocationg SKB (65007 -> 131072)

I can check these issues. I have to dive a little deeper with 2-3,
most likely with kgdb and syzkaller repro. But seems this is not
somewhat urgent and lives quite a long time without being noticed.

BTW: Attached the ftrace logs using the original syzkaller repro
(starting with tun_get_user()). They answer Jesper's question about
contiguous physical memory allocation (kmem_cache_alloc_node() /
kmalloc_reserve()). But I'll check it one more time before submitting
a new PATCH V4 or another patch / patch series.

-- 
Andrew Kanner

[-- Attachment #2: tracecmd-report-tun_xdp-short.log --]
[-- Type: text/plain, Size: 4698 bytes --]

a.out-4609  [003]    50.323886: funcgraph_entry:                   |  tun_get_user() {
a.out-4609  [003]    50.323889: funcgraph_entry:                   |    sock_alloc_send_pskb() {
a.out-4609  [003]    50.323890: funcgraph_entry:                   |      alloc_skb_with_frags() {
a.out-4609  [003]    50.323890: funcgraph_entry:                   |        __alloc_skb() {
a.out-4609  [003]    50.323891: funcgraph_entry:                   |          kmem_cache_alloc_node() {
...
a.out-4609  [003]    50.324133: funcgraph_entry:                   |          kmalloc_reserve() {
...
a.out-4609  [003]    50.324155: funcgraph_entry:        0.730 us   |          __build_skb_around();
...
a.out-4609  [003]    50.324160: funcgraph_entry:        0.630 us   |    skb_put();
a.out-4609  [003]    50.324161: funcgraph_entry:                   |    skb_copy_datagram_from_iter() {
...
a.out-4609  [003]    50.324785: funcgraph_entry:        0.720 us   |    eth_type_trans();
a.out-4609  [003]    50.324786: funcgraph_entry:                   |    __skb_flow_dissect() {
a.out-4609  [003]    50.324787: funcgraph_entry:        0.620 us   |      __rcu_read_lock();
a.out-4609  [003]    50.324788: funcgraph_entry:        0.620 us   |      __rcu_read_unlock();
a.out-4609  [003]    50.324790: funcgraph_exit:         4.340 us   |    }
a.out-4609  [003]    50.324791: funcgraph_entry:        0.640 us   |    __local_bh_disable_ip();
a.out-4609  [003]    50.324793: funcgraph_entry:        0.660 us   |    __rcu_read_lock();
a.out-4609  [003]    50.324794: funcgraph_entry:                   |    do_xdp_generic() {
a.out-4609  [003]    50.324795: funcgraph_entry:                   |      pskb_expand_head() {
a.out-4609  [003]    50.324796: funcgraph_entry:                   |        kmalloc_reserve() {
a.out-4609  [003]    50.324796: funcgraph_entry:        0.610 us   |          kmalloc_size_roundup();
a.out-4609  [003]    50.324797: funcgraph_entry:                   |          __kmalloc_node_track_caller() {
a.out-4609  [003]    50.324798: funcgraph_entry:                   |            __kmalloc_large_node() {
a.out-4609  [003]    50.324799: funcgraph_entry:                   |              __alloc_pages() {
a.out-4609  [003]    50.324799: funcgraph_entry:        0.600 us   |                should_fail_alloc_page();
a.out-4609  [003]    50.324800: funcgraph_entry:                   |                get_page_from_freelist() {
a.out-4609  [003]    50.324801: funcgraph_entry:        0.640 us   |                  __zone_watermark_ok();
a.out-4609  [003]    50.324802: funcgraph_entry:                   |                  _raw_spin_lock_irqsave() {
a.out-4609  [003]    50.324803: funcgraph_entry:        0.600 us   |                    preempt_count_add();
a.out-4609  [003]    50.324804: funcgraph_exit:         1.810 us   |                  }
a.out-4609  [003]    50.324805: funcgraph_entry:        0.620 us   |                  __mod_zone_page_state();
a.out-4609  [003]    50.324806: funcgraph_entry:                   |                  _raw_spin_unlock_irqrestore() {
a.out-4609  [003]    50.324807: funcgraph_entry:        0.610 us   |                    preempt_count_sub();
a.out-4609  [003]    50.324808: funcgraph_exit:         1.800 us   |                  }
a.out-4609  [003]    50.324809: funcgraph_entry:                   |                  prep_new_page() {
a.out-4609  [003]    50.324811: funcgraph_entry:        1.040 us   |                    prep_compound_page();
a.out-4609  [003]    50.324812: funcgraph_exit:         3.560 us   |                  }
a.out-4609  [003]    50.324813: funcgraph_exit:       + 12.300 us  |                }
a.out-4609  [003]    50.324813: funcgraph_exit:       + 14.700 us  |              }
a.out-4609  [003]    50.324814: funcgraph_entry:        0.640 us   |              mod_node_page_state();
a.out-4609  [003]    50.324815: funcgraph_exit:       + 17.120 us  |            }
a.out-4609  [003]    50.324816: funcgraph_exit:       + 18.310 us  |          }
a.out-4609  [003]    50.324816: funcgraph_exit:       + 20.700 us  |        }
...
a.out-4609  [003]    50.324857: funcgraph_entry:                   |      bpf_prog_run_generic_xdp() {
a.out-4609  [003]    50.324858: funcgraph_entry:                   |        __bpf_prog_run32() {
a.out-4609  [003]    50.324858: funcgraph_entry:                   |          ___bpf_prog_run() {
a.out-4609  [003]    50.324859: funcgraph_entry:                   |            bpf_xdp_adjust_tail() {
a.out-4609  [003]    50.324860: funcgraph_entry:                   |              __warn_printk() {
a.out-4609  [003]    50.324861: funcgraph_entry:                   |                _printk() {

[-- Attachment #3: tracecmd-report-tun_xdp.log --]
[-- Type: text/plain, Size: 122318 bytes --]

CPU 0 is empty
CPU 1 is empty
CPU 2 is empty
CPU 4 is empty
CPU 5 is empty
CPU 6 is empty
CPU 7 is empty
cpus=8
           a.out-4609  [003]    50.323886: funcgraph_entry:                   |  tun_get_user() {
           a.out-4609  [003]    50.323889: funcgraph_entry:                   |    sock_alloc_send_pskb() {
           a.out-4609  [003]    50.323890: funcgraph_entry:                   |      alloc_skb_with_frags() {
           a.out-4609  [003]    50.323890: funcgraph_entry:                   |        __alloc_skb() {
           a.out-4609  [003]    50.323891: funcgraph_entry:                   |          kmem_cache_alloc_node() {
           a.out-4609  [003]    50.323891: funcgraph_entry:        0.670 us   |            __cond_resched();
           a.out-4609  [003]    50.323893: funcgraph_entry:        0.610 us   |            should_failslab();
           a.out-4609  [003]    50.323894: funcgraph_entry:                   |            stack_trace_save() {
           a.out-4609  [003]    50.323895: funcgraph_entry:                   |              arch_stack_walk() {
           a.out-4609  [003]    50.323895: funcgraph_entry:                   |                __unwind_start() {
           a.out-4609  [003]    50.323896: funcgraph_entry:        0.630 us   |                  get_stack_info();
           a.out-4609  [003]    50.323897: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323898: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323899: funcgraph_exit:         1.930 us   |                  }
           a.out-4609  [003]    50.323900: funcgraph_entry:                   |                  unwind_next_frame() {
           a.out-4609  [003]    50.323900: funcgraph_entry:                   |                    update_stack_state() {
           a.out-4609  [003]    50.323901: funcgraph_entry:        0.620 us   |                      unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323902: funcgraph_exit:         1.890 us   |                    }
           a.out-4609  [003]    50.323903: funcgraph_exit:         3.100 us   |                  }
           a.out-4609  [003]    50.323903: funcgraph_exit:         8.070 us   |                }
           a.out-4609  [003]    50.323904: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.323905: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.323905: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.323906: funcgraph_exit:         1.790 us   |                  }
           a.out-4609  [003]    50.323907: funcgraph_exit:         2.990 us   |                }
           a.out-4609  [003]    50.323908: funcgraph_entry:        0.640 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.323909: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.323909: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323910: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323911: funcgraph_exit:         1.890 us   |                  }
           a.out-4609  [003]    50.323912: funcgraph_exit:         3.090 us   |                }
           a.out-4609  [003]    50.323913: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.323913: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.323914: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.323915: funcgraph_exit:         1.790 us   |                  }
           a.out-4609  [003]    50.323915: funcgraph_exit:         2.980 us   |                }
           a.out-4609  [003]    50.323916: funcgraph_entry:        0.640 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.323917: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.323918: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323919: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323920: funcgraph_exit:         1.860 us   |                  }
           a.out-4609  [003]    50.323920: funcgraph_exit:         3.050 us   |                }
           a.out-4609  [003]    50.323921: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.323922: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.323922: funcgraph_entry:        0.600 us   |                    kernel_text_address();
           a.out-4609  [003]    50.323923: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.323924: funcgraph_exit:         2.980 us   |                }
           a.out-4609  [003]    50.323924: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.323926: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.323926: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323927: funcgraph_entry:        0.610 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323928: funcgraph_exit:         1.850 us   |                  }
           a.out-4609  [003]    50.323929: funcgraph_exit:         3.050 us   |                }
           a.out-4609  [003]    50.323929: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.323930: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.323931: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.323932: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.323932: funcgraph_exit:         2.980 us   |                }
           a.out-4609  [003]    50.323933: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.323934: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.323935: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323935: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323936: funcgraph_exit:         1.840 us   |                  }
           a.out-4609  [003]    50.323937: funcgraph_exit:         3.040 us   |                }
           a.out-4609  [003]    50.323938: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.323938: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.323939: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.323940: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.323941: funcgraph_exit:         2.970 us   |                }
           a.out-4609  [003]    50.323941: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.323942: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.323943: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323944: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323945: funcgraph_exit:         1.840 us   |                  }
           a.out-4609  [003]    50.323945: funcgraph_exit:         3.050 us   |                }
           a.out-4609  [003]    50.323946: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.323947: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.323947: funcgraph_entry:        0.600 us   |                    kernel_text_address();
           a.out-4609  [003]    50.323948: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.323949: funcgraph_exit:         2.970 us   |                }
           a.out-4609  [003]    50.323950: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.323951: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.323951: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323952: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323953: funcgraph_exit:         1.880 us   |                  }
           a.out-4609  [003]    50.323954: funcgraph_exit:         3.080 us   |                }
           a.out-4609  [003]    50.323954: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.323955: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.323956: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.323957: funcgraph_exit:         1.790 us   |                  }
           a.out-4609  [003]    50.323957: funcgraph_exit:         2.980 us   |                }
           a.out-4609  [003]    50.323958: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.323959: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.323960: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.323960: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.323962: funcgraph_exit:         1.880 us   |                  }
           a.out-4609  [003]    50.323963: funcgraph_exit:         3.080 us   |                }
           a.out-4609  [003]    50.323969: funcgraph_entry:                   |                irq_enter_rcu() {
           a.out-4609  [003]    50.323969: funcgraph_entry:        0.620 us   |                  preempt_count_add();
           a.out-4609  [003]    50.323971: funcgraph_exit:         1.900 us   |                }
           a.out-4609  [003]    50.323971: funcgraph_entry:                   |                __sysvec_irq_work() {
           a.out-4609  [003]    50.323972: funcgraph_entry:                   |                  __wake_up() {
           a.out-4609  [003]    50.323973: funcgraph_entry:                   |                    __wake_up_common_lock() {
           a.out-4609  [003]    50.323973: funcgraph_entry:                   |                      _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.323974: funcgraph_entry:        0.590 us   |                        preempt_count_add();
           a.out-4609  [003]    50.323975: funcgraph_exit:         1.760 us   |                      }
           a.out-4609  [003]    50.323975: funcgraph_entry:        0.610 us   |                      __wake_up_common();
           a.out-4609  [003]    50.323977: funcgraph_entry:                   |                      _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.323977: funcgraph_entry:        0.650 us   |                        preempt_count_sub();
           a.out-4609  [003]    50.323978: funcgraph_exit:         1.800 us   |                      }
           a.out-4609  [003]    50.323979: funcgraph_exit:         6.430 us   |                    }
           a.out-4609  [003]    50.323979: funcgraph_exit:         7.570 us   |                  }
           a.out-4609  [003]    50.323980: funcgraph_entry:                   |                  __wake_up() {
           a.out-4609  [003]    50.323981: funcgraph_entry:                   |                    __wake_up_common_lock() {
           a.out-4609  [003]    50.323981: funcgraph_entry:                   |                      _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.323982: funcgraph_entry:        0.590 us   |                        preempt_count_add();
           a.out-4609  [003]    50.323983: funcgraph_exit:         1.750 us   |                      }
           a.out-4609  [003]    50.323984: funcgraph_entry:                   |                      __wake_up_common() {
           a.out-4609  [003]    50.323984: funcgraph_entry:                   |                        autoremove_wake_function() {
           a.out-4609  [003]    50.323985: funcgraph_entry:                   |                          default_wake_function() {
           a.out-4609  [003]    50.323986: funcgraph_entry:                   |                            try_to_wake_up() {
           a.out-4609  [003]    50.323986: funcgraph_entry:        0.590 us   |                              preempt_count_add();
           a.out-4609  [003]    50.323987: funcgraph_entry:                   |                              _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.323988: funcgraph_entry:        0.590 us   |                                preempt_count_add();
           a.out-4609  [003]    50.323989: funcgraph_exit:         1.780 us   |                              }
           a.out-4609  [003]    50.323990: funcgraph_entry:                   |                              __traceiter_sched_waking() {
           a.out-4609  [003]    50.323990: funcgraph_entry:                   |                                _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.323991: funcgraph_entry:        0.580 us   |                                  preempt_count_add();
           a.out-4609  [003]    50.323992: funcgraph_exit:         1.820 us   |                                }
           a.out-4609  [003]    50.323993: funcgraph_entry:                   |                                _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.323993: funcgraph_entry:        0.590 us   |                                  preempt_count_sub();
           a.out-4609  [003]    50.323994: funcgraph_exit:         1.740 us   |                                }
           a.out-4609  [003]    50.323995: funcgraph_exit:         5.380 us   |                              }
           a.out-4609  [003]    50.323996: funcgraph_entry:                   |                              select_task_rq_fair() {
           a.out-4609  [003]    50.323996: funcgraph_entry:        0.590 us   |                                __rcu_read_lock();
           a.out-4609  [003]    50.323998: funcgraph_entry:                   |                                available_idle_cpu() {
           a.out-4609  [003]    50.323998: funcgraph_entry:        0.690 us   |                                  idle_cpu();
           a.out-4609  [003]    50.323999: funcgraph_exit:         1.840 us   |                                }
           a.out-4609  [003]    50.324000: funcgraph_entry:        0.600 us   |                                __rcu_read_unlock();
           a.out-4609  [003]    50.324001: funcgraph_exit:         5.410 us   |                              }
           a.out-4609  [003]    50.324002: funcgraph_entry:                   |                              ttwu_queue_wakelist() {
           a.out-4609  [003]    50.324002: funcgraph_entry:        0.620 us   |                                cpus_share_cache();
           a.out-4609  [003]    50.324004: funcgraph_entry:                   |                                __smp_call_single_queue() {
           a.out-4609  [003]    50.324004: funcgraph_entry:        0.610 us   |                                  call_function_single_prep_ipi();
           a.out-4609  [003]    50.324005: funcgraph_entry:                   |                                  native_send_call_func_single_ipi() {
           a.out-4609  [003]    50.324006: funcgraph_entry:                   |                                    x2apic_send_IPI() {
           a.out-4609  [003]    50.324007: funcgraph_entry:        2.610 us   |                                      __x2apic_send_IPI_dest();
           a.out-4609  [003]    50.324010: funcgraph_exit:         3.850 us   |                                    }
           a.out-4609  [003]    50.324010: funcgraph_exit:         5.010 us   |                                  }
           a.out-4609  [003]    50.324011: funcgraph_exit:         7.360 us   |                                }
           a.out-4609  [003]    50.324011: funcgraph_exit:         9.840 us   |                              }
           a.out-4609  [003]    50.324012: funcgraph_entry:                   |                              _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324013: funcgraph_entry:        0.580 us   |                                preempt_count_sub();
           a.out-4609  [003]    50.324014: funcgraph_exit:         1.750 us   |                              }
           a.out-4609  [003]    50.324014: funcgraph_entry:        0.590 us   |                              preempt_count_sub();
           a.out-4609  [003]    50.324015: funcgraph_exit:       + 30.030 us  |                            }
           a.out-4609  [003]    50.324016: funcgraph_exit:       + 31.180 us  |                          }
           a.out-4609  [003]    50.324017: funcgraph_exit:       + 32.350 us  |                        }
           a.out-4609  [003]    50.324017: funcgraph_exit:       + 33.610 us  |                      }
           a.out-4609  [003]    50.324018: funcgraph_entry:                   |                      _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324018: funcgraph_entry:        0.590 us   |                        preempt_count_sub();
           a.out-4609  [003]    50.324019: funcgraph_exit:         1.740 us   |                      }
           a.out-4609  [003]    50.324020: funcgraph_exit:       + 39.330 us  |                    }
           a.out-4609  [003]    50.324021: funcgraph_exit:       + 40.480 us  |                  }
           a.out-4609  [003]    50.324021: funcgraph_exit:       + 50.120 us  |                }
           a.out-4609  [003]    50.324022: funcgraph_entry:                   |                irq_exit_rcu() {
           a.out-4609  [003]    50.324022: funcgraph_entry:        0.620 us   |                  preempt_count_sub();
           a.out-4609  [003]    50.324024: funcgraph_entry:        0.610 us   |                  idle_cpu();
           a.out-4609  [003]    50.324025: funcgraph_exit:         2.940 us   |                }
           a.out-4609  [003]    50.324025: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324026: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324027: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324028: funcgraph_exit:         1.800 us   |                  }
           a.out-4609  [003]    50.324028: funcgraph_exit:         3.000 us   |                }
           a.out-4609  [003]    50.324029: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324030: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324031: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324031: funcgraph_entry:        0.620 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324033: funcgraph_exit:         1.910 us   |                  }
           a.out-4609  [003]    50.324033: funcgraph_exit:         3.110 us   |                }
           a.out-4609  [003]    50.324034: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324034: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324035: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324036: funcgraph_exit:         1.770 us   |                  }
           a.out-4609  [003]    50.324037: funcgraph_exit:         2.960 us   |                }
           a.out-4609  [003]    50.324037: funcgraph_entry:        0.620 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324039: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324039: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324040: funcgraph_entry:        0.610 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324041: funcgraph_exit:         1.850 us   |                  }
           a.out-4609  [003]    50.324042: funcgraph_exit:         3.050 us   |                }
           a.out-4609  [003]    50.324043: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324044: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324044: funcgraph_entry:        0.600 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324046: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.324046: funcgraph_exit:         2.970 us   |                }
           a.out-4609  [003]    50.324047: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324048: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324049: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324049: funcgraph_entry:        0.610 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324050: funcgraph_exit:         1.900 us   |                  }
           a.out-4609  [003]    50.324051: funcgraph_exit:         3.090 us   |                }
           a.out-4609  [003]    50.324052: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324052: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324053: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324054: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.324055: funcgraph_exit:         2.950 us   |                }
           a.out-4609  [003]    50.324055: funcgraph_entry:        0.620 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324056: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324057: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324058: funcgraph_entry:        0.610 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324059: funcgraph_exit:         1.840 us   |                  }
           a.out-4609  [003]    50.324059: funcgraph_exit:         3.030 us   |                }
           a.out-4609  [003]    50.324060: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324061: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324061: funcgraph_entry:        0.600 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324062: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.324063: funcgraph_exit:         2.960 us   |                }
           a.out-4609  [003]    50.324063: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324065: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324065: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324066: funcgraph_entry:        0.610 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324067: funcgraph_exit:         1.830 us   |                  }
           a.out-4609  [003]    50.324068: funcgraph_exit:         3.030 us   |                }
           a.out-4609  [003]    50.324068: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324069: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324069: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324071: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.324071: funcgraph_exit:         2.950 us   |                }
           a.out-4609  [003]    50.324072: funcgraph_entry:        0.620 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324073: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324074: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324074: funcgraph_entry:        0.610 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324075: funcgraph_exit:         1.830 us   |                  }
           a.out-4609  [003]    50.324076: funcgraph_exit:         3.030 us   |                }
           a.out-4609  [003]    50.324077: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324077: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324078: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324079: funcgraph_exit:         1.770 us   |                  }
           a.out-4609  [003]    50.324080: funcgraph_exit:         3.000 us   |                }
           a.out-4609  [003]    50.324080: funcgraph_entry:        0.780 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324082: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324083: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324083: funcgraph_entry:        0.770 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324085: funcgraph_exit:         2.290 us   |                  }
           a.out-4609  [003]    50.324086: funcgraph_exit:         3.800 us   |                }
           a.out-4609  [003]    50.324086: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324087: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324088: funcgraph_entry:        0.760 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324089: funcgraph_exit:         2.230 us   |                  }
           a.out-4609  [003]    50.324090: funcgraph_exit:         3.710 us   |                }
           a.out-4609  [003]    50.324091: funcgraph_entry:        0.790 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324092: funcgraph_entry:                   |                unwind_next_frame() {
           a.out-4609  [003]    50.324093: funcgraph_entry:                   |                  update_stack_state() {
           a.out-4609  [003]    50.324093: funcgraph_entry:        0.660 us   |                    unwind_get_return_address_ptr();
           a.out-4609  [003]    50.324095: funcgraph_exit:         2.040 us   |                  }
           a.out-4609  [003]    50.324095: funcgraph_exit:         3.360 us   |                }
           a.out-4609  [003]    50.324096: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324097: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324097: funcgraph_entry:        0.610 us   |                    kernel_text_address();
           a.out-4609  [003]    50.324098: funcgraph_exit:         1.780 us   |                  }
           a.out-4609  [003]    50.324099: funcgraph_exit:         2.970 us   |                }
           a.out-4609  [003]    50.324100: funcgraph_entry:        0.630 us   |                stack_trace_consume_entry();
           a.out-4609  [003]    50.324101: funcgraph_entry:        0.800 us   |                unwind_next_frame();
           a.out-4609  [003]    50.324102: funcgraph_entry:                   |                unwind_get_return_address() {
           a.out-4609  [003]    50.324103: funcgraph_entry:                   |                  __kernel_text_address() {
           a.out-4609  [003]    50.324104: funcgraph_entry:                   |                    kernel_text_address() {
           a.out-4609  [003]    50.324105: funcgraph_entry:        0.750 us   |                      in_gate_area_no_mm();
           a.out-4609  [003]    50.324106: funcgraph_entry:                   |                      is_module_text_address() {
           a.out-4609  [003]    50.324107: funcgraph_entry:        0.790 us   |                        preempt_count_add();
           a.out-4609  [003]    50.324108: funcgraph_entry:                   |                        __module_text_address() {
           a.out-4609  [003]    50.324109: funcgraph_entry:        0.760 us   |                          __module_address();
           a.out-4609  [003]    50.324111: funcgraph_exit:         2.250 us   |                        }
           a.out-4609  [003]    50.324111: funcgraph_entry:        0.780 us   |                        preempt_count_sub();
           a.out-4609  [003]    50.324113: funcgraph_exit:         6.730 us   |                      }
           a.out-4609  [003]    50.324113: funcgraph_entry:                   |                      __is_insn_slot_addr() {
           a.out-4609  [003]    50.324114: funcgraph_entry:        0.610 us   |                        __rcu_read_lock();
           a.out-4609  [003]    50.324115: funcgraph_entry:        0.630 us   |                        __rcu_read_unlock();
           a.out-4609  [003]    50.324116: funcgraph_exit:         3.000 us   |                      }
           a.out-4609  [003]    50.324117: funcgraph_entry:                   |                      __is_insn_slot_addr() {
           a.out-4609  [003]    50.324118: funcgraph_entry:        0.610 us   |                        __rcu_read_lock();
           a.out-4609  [003]    50.324119: funcgraph_entry:        0.650 us   |                        __rcu_read_unlock();
           a.out-4609  [003]    50.324121: funcgraph_exit:         3.890 us   |                      }
           a.out-4609  [003]    50.324122: funcgraph_exit:       + 17.810 us  |                    }
           a.out-4609  [003]    50.324122: funcgraph_exit:       + 19.290 us  |                  }
           a.out-4609  [003]    50.324123: funcgraph_exit:       + 20.760 us  |                }
           a.out-4609  [003]    50.324124: funcgraph_exit:       ! 228.940 us |              }
           a.out-4609  [003]    50.324124: funcgraph_exit:       ! 230.260 us |            }
           a.out-4609  [003]    50.324125: funcgraph_entry:        0.850 us   |            filter_irq_stacks();
           a.out-4609  [003]    50.324127: funcgraph_entry:                   |            _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.324128: funcgraph_entry:        0.770 us   |              preempt_count_add();
           a.out-4609  [003]    50.324129: funcgraph_exit:         2.300 us   |            }
           a.out-4609  [003]    50.324130: funcgraph_entry:                   |            _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324131: funcgraph_entry:        0.760 us   |              preempt_count_sub();
           a.out-4609  [003]    50.324132: funcgraph_exit:         2.120 us   |            }
           a.out-4609  [003]    50.324133: funcgraph_exit:       ! 241.980 us |          }
           a.out-4609  [003]    50.324133: funcgraph_entry:                   |          kmalloc_reserve() {
           a.out-4609  [003]    50.324134: funcgraph_entry:        0.610 us   |            kmalloc_size_roundup();
           a.out-4609  [003]    50.324135: funcgraph_entry:                   |            __kmalloc_node_track_caller() {
           a.out-4609  [003]    50.324136: funcgraph_entry:                   |              __kmalloc_large_node() {
           a.out-4609  [003]    50.324136: funcgraph_entry:                   |                __alloc_pages() {
           a.out-4609  [003]    50.324137: funcgraph_entry:        0.610 us   |                  __cond_resched();
           a.out-4609  [003]    50.324138: funcgraph_entry:        0.610 us   |                  should_fail_alloc_page();
           a.out-4609  [003]    50.324139: funcgraph_entry:                   |                  get_page_from_freelist() {
           a.out-4609  [003]    50.324140: funcgraph_entry:        0.620 us   |                    __zone_watermark_ok();
           a.out-4609  [003]    50.324141: funcgraph_entry:                   |                    _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.324142: funcgraph_entry:        0.620 us   |                      preempt_count_add();
           a.out-4609  [003]    50.324143: funcgraph_exit:         1.820 us   |                    }
           a.out-4609  [003]    50.324144: funcgraph_entry:        0.620 us   |                    __mod_zone_page_state();
           a.out-4609  [003]    50.324145: funcgraph_entry:                   |                    _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324146: funcgraph_entry:        0.620 us   |                      preempt_count_sub();
           a.out-4609  [003]    50.324147: funcgraph_exit:         1.820 us   |                    }
           a.out-4609  [003]    50.324148: funcgraph_entry:                   |                    prep_new_page() {
           a.out-4609  [003]    50.324149: funcgraph_entry:        0.870 us   |                      prep_compound_page();
           a.out-4609  [003]    50.324150: funcgraph_exit:         2.790 us   |                    }
           a.out-4609  [003]    50.324151: funcgraph_exit:       + 11.640 us  |                  }
           a.out-4609  [003]    50.324152: funcgraph_exit:       + 15.240 us  |                }
           a.out-4609  [003]    50.324152: funcgraph_entry:        0.620 us   |                mod_node_page_state();
           a.out-4609  [003]    50.324153: funcgraph_exit:       + 17.690 us  |              }
           a.out-4609  [003]    50.324154: funcgraph_exit:       + 18.890 us  |            }
           a.out-4609  [003]    50.324155: funcgraph_exit:       + 21.300 us  |          }
           a.out-4609  [003]    50.324155: funcgraph_entry:        0.730 us   |          __build_skb_around();
           a.out-4609  [003]    50.324157: funcgraph_exit:       ! 266.560 us |        }
           a.out-4609  [003]    50.324157: funcgraph_exit:       ! 267.770 us |      }
           a.out-4609  [003]    50.324158: funcgraph_entry:        0.690 us   |      skb_set_owner_w();
           a.out-4609  [003]    50.324159: funcgraph_exit:       ! 270.390 us |    }
           a.out-4609  [003]    50.324160: funcgraph_entry:        0.630 us   |    skb_put();
           a.out-4609  [003]    50.324161: funcgraph_entry:                   |    skb_copy_datagram_from_iter() {
           a.out-4609  [003]    50.324163: funcgraph_entry:        0.620 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324164: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324165: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324166: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324167: funcgraph_entry:        0.630 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324168: funcgraph_exit:         3.060 us   |        }
           a.out-4609  [003]    50.324169: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324170: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324170: funcgraph_entry:        0.620 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324172: funcgraph_entry:        0.630 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324173: funcgraph_exit:         3.170 us   |        }
           a.out-4609  [003]    50.324174: funcgraph_exit:         9.230 us   |      }
           a.out-4609  [003]    50.324174: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324175: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324176: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324176: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324177: funcgraph_exit:         1.830 us   |          }
           a.out-4609  [003]    50.324178: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324179: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324180: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324181: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324182: funcgraph_exit:         1.830 us   |            }
           a.out-4609  [003]    50.324182: funcgraph_exit:         4.200 us   |          }
           a.out-4609  [003]    50.324183: funcgraph_entry:        0.650 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324184: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324185: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324186: funcgraph_exit:         1.810 us   |          }
           a.out-4609  [003]    50.324186: funcgraph_exit:       + 11.620 us  |        }
           a.out-4609  [003]    50.324187: funcgraph_exit:       + 12.890 us  |      }
           a.out-4609  [003]    50.324188: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324188: funcgraph_entry:        0.620 us   |        preempt_count_add();
           a.out-4609  [003]    50.324189: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324191: funcgraph_exit:         2.990 us   |      }
           a.out-4609  [003]    50.324192: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324193: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324194: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324194: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324196: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324197: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324198: funcgraph_entry:        1.190 us   |        __cond_resched();
           a.out-4609  [003]    50.324199: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324200: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324201: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324202: funcgraph_exit:         3.090 us   |        }
           a.out-4609  [003]    50.324203: funcgraph_exit:         9.630 us   |      }
           a.out-4609  [003]    50.324203: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324204: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324205: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324205: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324206: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324207: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324208: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324209: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324209: funcgraph_entry:        0.610 us   |              preempt_count_add();
           a.out-4609  [003]    50.324211: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324211: funcgraph_exit:         4.180 us   |          }
           a.out-4609  [003]    50.324212: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324213: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324214: funcgraph_entry:        0.610 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324215: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324215: funcgraph_exit:       + 11.360 us  |        }
           a.out-4609  [003]    50.324216: funcgraph_exit:       + 12.570 us  |      }
           a.out-4609  [003]    50.324217: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324217: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324218: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324219: funcgraph_exit:         2.990 us   |      }
           a.out-4609  [003]    50.324221: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324222: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324222: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324223: funcgraph_entry:        0.610 us   |          preempt_count_add();
           a.out-4609  [003]    50.324224: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324225: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324226: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324227: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324228: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324229: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324230: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324231: funcgraph_exit:         9.020 us   |      }
           a.out-4609  [003]    50.324231: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324232: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324233: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324233: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324234: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324235: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324236: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324237: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324237: funcgraph_entry:        0.610 us   |              preempt_count_add();
           a.out-4609  [003]    50.324239: funcgraph_exit:         1.800 us   |            }
           a.out-4609  [003]    50.324239: funcgraph_exit:         4.190 us   |          }
           a.out-4609  [003]    50.324240: funcgraph_entry:        0.630 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324241: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324242: funcgraph_entry:        0.610 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324243: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324243: funcgraph_exit:       + 11.380 us  |        }
           a.out-4609  [003]    50.324244: funcgraph_exit:       + 12.580 us  |      }
           a.out-4609  [003]    50.324244: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324245: funcgraph_entry:        0.620 us   |        preempt_count_add();
           a.out-4609  [003]    50.324246: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324247: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324248: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324250: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324250: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324251: funcgraph_entry:        0.610 us   |          preempt_count_add();
           a.out-4609  [003]    50.324252: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324253: funcgraph_exit:         3.010 us   |        }
           a.out-4609  [003]    50.324254: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324255: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324256: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324260: funcgraph_entry:                   |          irq_enter_rcu() {
           a.out-4609  [003]    50.324261: funcgraph_entry:        0.630 us   |            preempt_count_add();
           a.out-4609  [003]    50.324262: funcgraph_exit:         1.880 us   |          }
           a.out-4609  [003]    50.324263: funcgraph_entry:                   |          __sysvec_apic_timer_interrupt() {
           a.out-4609  [003]    50.324263: funcgraph_entry:                   |            hrtimer_interrupt() {
           a.out-4609  [003]    50.324264: funcgraph_entry:                   |              _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.324265: funcgraph_entry:        0.590 us   |                preempt_count_add();
           a.out-4609  [003]    50.324266: funcgraph_exit:         1.780 us   |              }
           a.out-4609  [003]    50.324266: funcgraph_entry:        0.750 us   |              ktime_get_update_offsets_now();
           a.out-4609  [003]    50.324268: funcgraph_entry:                   |              __hrtimer_run_queues() {
           a.out-4609  [003]    50.324268: funcgraph_entry:        0.610 us   |                __next_base();
           a.out-4609  [003]    50.324270: funcgraph_entry:        0.780 us   |                __remove_hrtimer();
           a.out-4609  [003]    50.324271: funcgraph_entry:                   |                _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324272: funcgraph_entry:        0.600 us   |                  preempt_count_sub();
           a.out-4609  [003]    50.324273: funcgraph_exit:         1.740 us   |                }
           a.out-4609  [003]    50.324273: funcgraph_entry:                   |                tick_sched_timer() {
           a.out-4609  [003]    50.324274: funcgraph_entry:        0.630 us   |                  ktime_get();
           a.out-4609  [003]    50.324276: funcgraph_entry:        1.410 us   |                  tick_sched_do_timer();
           a.out-4609  [003]    50.324277: funcgraph_entry:                   |                  tick_sched_handle() {
           a.out-4609  [003]    50.324278: funcgraph_entry:                   |                    update_process_times() {
           a.out-4609  [003]    50.324278: funcgraph_entry:                   |                      account_process_tick() {
           a.out-4609  [003]    50.324279: funcgraph_entry:        0.600 us   |                        kvm_steal_clock();
           a.out-4609  [003]    50.324280: funcgraph_entry:        0.600 us   |                        account_steal_time();
           a.out-4609  [003]    50.324281: funcgraph_entry:                   |                        account_system_time() {
           a.out-4609  [003]    50.324282: funcgraph_entry:                   |                          account_system_index_time() {
           a.out-4609  [003]    50.324283: funcgraph_entry:        0.620 us   |                            cpuacct_account_field();
           a.out-4609  [003]    50.324284: funcgraph_entry:                   |                            __cgroup_account_cputime_field() {
           a.out-4609  [003]    50.324284: funcgraph_entry:        0.590 us   |                              preempt_count_add();
           a.out-4609  [003]    50.324286: funcgraph_entry:                   |                              cgroup_base_stat_cputime_account_end() {
           a.out-4609  [003]    50.324286: funcgraph_entry:        0.610 us   |                                cgroup_rstat_updated();
           a.out-4609  [003]    50.324287: funcgraph_entry:        0.600 us   |                                preempt_count_sub();
           a.out-4609  [003]    50.324288: funcgraph_exit:         2.930 us   |                              }
           a.out-4609  [003]    50.324289: funcgraph_exit:         5.240 us   |                            }
           a.out-4609  [003]    50.324290: funcgraph_entry:                   |                            acct_account_cputime() {
           a.out-4609  [003]    50.324290: funcgraph_entry:        0.640 us   |                              __acct_update_integrals();
           a.out-4609  [003]    50.324291: funcgraph_exit:         1.820 us   |                            }
           a.out-4609  [003]    50.324292: funcgraph_exit:       + 10.020 us  |                          }
           a.out-4609  [003]    50.324293: funcgraph_exit:       + 11.170 us  |                        }
           a.out-4609  [003]    50.324293: funcgraph_exit:       + 14.800 us  |                      }
           a.out-4609  [003]    50.324294: funcgraph_entry:        0.610 us   |                      hrtimer_run_queues();
           a.out-4609  [003]    50.324295: funcgraph_entry:                   |                      rcu_sched_clock_irq() {
           a.out-4609  [003]    50.324296: funcgraph_entry:        0.610 us   |                        rcu_stall_kick_kthreads();
           a.out-4609  [003]    50.324297: funcgraph_entry:        0.600 us   |                        rcu_is_cpu_rrupt_from_idle();
           a.out-4609  [003]    50.324298: funcgraph_entry:        0.610 us   |                        rcu_segcblist_ready_cbs();
           a.out-4609  [003]    50.324299: funcgraph_entry:                   |                        invoke_rcu_core() {
           a.out-4609  [003]    50.324300: funcgraph_entry:                   |                          raise_softirq() {
           a.out-4609  [003]    50.324300: funcgraph_entry:        0.590 us   |                            __raise_softirq_irqoff();
           a.out-4609  [003]    50.324301: funcgraph_exit:         1.750 us   |                          }
           a.out-4609  [003]    50.324302: funcgraph_exit:         2.910 us   |                        }
           a.out-4609  [003]    50.324303: funcgraph_entry:        0.600 us   |                        rcu_is_cpu_rrupt_from_idle();
           a.out-4609  [003]    50.324304: funcgraph_exit:         8.900 us   |                      }
           a.out-4609  [003]    50.324304: funcgraph_entry:                   |                      scheduler_tick() {
           a.out-4609  [003]    50.324305: funcgraph_entry:        0.590 us   |                        arch_scale_freq_tick();
           a.out-4609  [003]    50.324306: funcgraph_entry:                   |                        raw_spin_rq_lock_nested() {
           a.out-4609  [003]    50.324307: funcgraph_entry:        0.590 us   |                          preempt_count_add();
           a.out-4609  [003]    50.324308: funcgraph_entry:                   |                          _raw_spin_lock() {
           a.out-4609  [003]    50.324309: funcgraph_entry:        0.600 us   |                            preempt_count_add();
           a.out-4609  [003]    50.324310: funcgraph_exit:         1.870 us   |                          }
           a.out-4609  [003]    50.324310: funcgraph_entry:        0.600 us   |                          preempt_count_sub();
           a.out-4609  [003]    50.324311: funcgraph_exit:         5.320 us   |                        }
           a.out-4609  [003]    50.324312: funcgraph_entry:        0.710 us   |                        update_rq_clock();
           a.out-4609  [003]    50.324313: funcgraph_entry:                   |                        task_tick_fair() {
           a.out-4609  [003]    50.324314: funcgraph_entry:                   |                          update_curr() {
           a.out-4609  [003]    50.324315: funcgraph_entry:        0.690 us   |                            update_min_vruntime();
           a.out-4609  [003]    50.324316: funcgraph_entry:        0.640 us   |                            cpuacct_charge();
           a.out-4609  [003]    50.324317: funcgraph_entry:                   |                            __cgroup_account_cputime() {
           a.out-4609  [003]    50.324318: funcgraph_entry:        0.590 us   |                              preempt_count_add();
           a.out-4609  [003]    50.324319: funcgraph_entry:                   |                              cgroup_base_stat_cputime_account_end() {
           a.out-4609  [003]    50.324319: funcgraph_entry:        0.600 us   |                                cgroup_rstat_updated();
           a.out-4609  [003]    50.324321: funcgraph_entry:        0.590 us   |                                preempt_count_sub();
           a.out-4609  [003]    50.324322: funcgraph_exit:         2.900 us   |                              }
           a.out-4609  [003]    50.324322: funcgraph_exit:         5.200 us   |                            }
           a.out-4609  [003]    50.324323: funcgraph_exit:         8.890 us   |                          }
           a.out-4609  [003]    50.324323: funcgraph_entry:                   |                          __update_load_avg_se() {
           a.out-4609  [003]    50.324324: funcgraph_entry:        0.600 us   |                            decay_load();
           a.out-4609  [003]    50.324325: funcgraph_entry:        0.600 us   |                            decay_load();
           a.out-4609  [003]    50.324326: funcgraph_entry:        0.600 us   |                            decay_load();
           a.out-4609  [003]    50.324328: funcgraph_entry:                   |                            __accumulate_pelt_segments() {
           a.out-4609  [003]    50.324328: funcgraph_entry:        0.590 us   |                              decay_load();
           a.out-4609  [003]    50.324329: funcgraph_entry:        0.600 us   |                              decay_load();
           a.out-4609  [003]    50.324330: funcgraph_exit:         2.890 us   |                            }
           a.out-4609  [003]    50.324331: funcgraph_exit:         7.630 us   |                          }
           a.out-4609  [003]    50.324332: funcgraph_entry:                   |                          __update_load_avg_cfs_rq() {
           a.out-4609  [003]    50.324332: funcgraph_entry:        0.600 us   |                            decay_load();
           a.out-4609  [003]    50.324334: funcgraph_entry:        0.600 us   |                            decay_load();
           a.out-4609  [003]    50.324335: funcgraph_entry:        0.600 us   |                            decay_load();
           a.out-4609  [003]    50.324336: funcgraph_entry:                   |                            __accumulate_pelt_segments() {
           a.out-4609  [003]    50.324336: funcgraph_entry:        0.590 us   |                              decay_load();
           a.out-4609  [003]    50.324338: funcgraph_entry:        0.590 us   |                              decay_load();
           a.out-4609  [003]    50.324339: funcgraph_exit:         2.890 us   |                            }
           a.out-4609  [003]    50.324339: funcgraph_exit:         7.650 us   |                          }
           a.out-4609  [003]    50.324340: funcgraph_entry:        0.610 us   |                          update_cfs_group();
           a.out-4609  [003]    50.324341: funcgraph_entry:        0.640 us   |                          hrtimer_active();
           a.out-4609  [003]    50.324342: funcgraph_entry:                   |                          cpu_util_cfs() {
           a.out-4609  [003]    50.324343: funcgraph_entry:        0.680 us   |                            cpu_util();
           a.out-4609  [003]    50.324344: funcgraph_exit:         1.830 us   |                          }
           a.out-4609  [003]    50.324345: funcgraph_entry:        0.610 us   |                          capacity_of();
           a.out-4609  [003]    50.324346: funcgraph_exit:       + 32.650 us  |                        }
           a.out-4609  [003]    50.324347: funcgraph_entry:        0.610 us   |                        calc_global_load_tick();
           a.out-4609  [003]    50.324348: funcgraph_entry:        0.700 us   |                        task_tick_mm_cid();
           a.out-4609  [003]    50.324350: funcgraph_entry:                   |                        _raw_spin_unlock() {
           a.out-4609  [003]    50.324350: funcgraph_entry:        0.590 us   |                          preempt_count_sub();
           a.out-4609  [003]    50.324351: funcgraph_exit:         1.820 us   |                        }
           a.out-4609  [003]    50.324352: funcgraph_entry:                   |                        perf_event_task_tick() {
           a.out-4609  [003]    50.324353: funcgraph_entry:        0.590 us   |                          perf_adjust_freq_unthr_context();
           a.out-4609  [003]    50.324354: funcgraph_entry:        0.610 us   |                          __rcu_read_lock();
           a.out-4609  [003]    50.324355: funcgraph_entry:        0.610 us   |                          __rcu_read_unlock();
           a.out-4609  [003]    50.324356: funcgraph_exit:         4.110 us   |                        }
           a.out-4609  [003]    50.324357: funcgraph_entry:        0.610 us   |                        idle_cpu();
           a.out-4609  [003]    50.324358: funcgraph_entry:                   |                        trigger_load_balance() {
           a.out-4609  [003]    50.324359: funcgraph_entry:        0.600 us   |                          nohz_balance_exit_idle();
           a.out-4609  [003]    50.324360: funcgraph_entry:        0.600 us   |                          __rcu_read_lock();
           a.out-4609  [003]    50.324361: funcgraph_entry:        0.600 us   |                          __rcu_read_unlock();
           a.out-4609  [003]    50.324362: funcgraph_exit:         4.260 us   |                        }
           a.out-4609  [003]    50.324363: funcgraph_exit:       + 58.300 us  |                      }
           a.out-4609  [003]    50.324363: funcgraph_entry:        0.660 us   |                      run_posix_cpu_timers();
           a.out-4609  [003]    50.324364: funcgraph_exit:       + 86.760 us  |                    }
           a.out-4609  [003]    50.324365: funcgraph_entry:        0.650 us   |                    profile_tick();
           a.out-4609  [003]    50.324366: funcgraph_exit:       + 89.160 us  |                  }
           a.out-4609  [003]    50.324367: funcgraph_entry:                   |                  hrtimer_forward() {
           a.out-4609  [003]    50.324367: funcgraph_entry:        0.590 us   |                    ktime_add_safe();
           a.out-4609  [003]    50.324369: funcgraph_entry:        0.600 us   |                    ktime_add_safe();
           a.out-4609  [003]    50.324370: funcgraph_exit:         2.910 us   |                  }
           a.out-4609  [003]    50.324370: funcgraph_exit:       + 96.960 us  |                }
           a.out-4609  [003]    50.324371: funcgraph_entry:                   |                _raw_spin_lock_irq() {
           a.out-4609  [003]    50.324371: funcgraph_entry:        0.590 us   |                  preempt_count_add();
           a.out-4609  [003]    50.324373: funcgraph_exit:         1.770 us   |                }
           a.out-4609  [003]    50.324373: funcgraph_entry:        0.730 us   |                enqueue_hrtimer();
           a.out-4609  [003]    50.324374: funcgraph_entry:        0.610 us   |                __next_base();
           a.out-4609  [003]    50.324376: funcgraph_entry:        0.610 us   |                __next_base();
           a.out-4609  [003]    50.324377: funcgraph_exit:       ! 109.040 us |              }
           a.out-4609  [003]    50.324377: funcgraph_entry:                   |              hrtimer_update_next_event() {
           a.out-4609  [003]    50.324378: funcgraph_entry:                   |                __hrtimer_get_next_event() {
           a.out-4609  [003]    50.324379: funcgraph_entry:                   |                  __hrtimer_next_event_base() {
           a.out-4609  [003]    50.324379: funcgraph_entry:        0.600 us   |                    __next_base();
           a.out-4609  [003]    50.324380: funcgraph_exit:         1.740 us   |                  }
           a.out-4609  [003]    50.324381: funcgraph_exit:         2.910 us   |                }
           a.out-4609  [003]    50.324381: funcgraph_entry:                   |                __hrtimer_get_next_event() {
           a.out-4609  [003]    50.324382: funcgraph_entry:                   |                  __hrtimer_next_event_base() {
           a.out-4609  [003]    50.324383: funcgraph_entry:        0.600 us   |                    __next_base();
           a.out-4609  [003]    50.324384: funcgraph_entry:        0.610 us   |                    __next_base();
           a.out-4609  [003]    50.324385: funcgraph_entry:        0.600 us   |                    __next_base();
           a.out-4609  [003]    50.324386: funcgraph_exit:         4.120 us   |                  }
           a.out-4609  [003]    50.324387: funcgraph_exit:         5.280 us   |                }
           a.out-4609  [003]    50.324387: funcgraph_exit:         9.910 us   |              }
           a.out-4609  [003]    50.324388: funcgraph_entry:                   |              _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324388: funcgraph_entry:        0.590 us   |                preempt_count_sub();
           a.out-4609  [003]    50.324390: funcgraph_exit:         1.740 us   |              }
           a.out-4609  [003]    50.324390: funcgraph_entry:                   |              tick_program_event() {
           a.out-4609  [003]    50.324391: funcgraph_entry:                   |                clockevents_program_event() {
           a.out-4609  [003]    50.324391: funcgraph_entry:        0.620 us   |                  ktime_get();
           a.out-4609  [003]    50.324393: funcgraph_entry:        2.450 us   |                  lapic_next_deadline();
           a.out-4609  [003]    50.324396: funcgraph_exit:         4.890 us   |                }
           a.out-4609  [003]    50.324396: funcgraph_exit:         6.050 us   |              }
           a.out-4609  [003]    50.324397: funcgraph_exit:       ! 133.360 us |            }
           a.out-4609  [003]    50.324397: funcgraph_exit:       ! 134.620 us |          }
           a.out-4609  [003]    50.324398: funcgraph_entry:                   |          irq_exit_rcu() {
           a.out-4609  [003]    50.324398: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324400: funcgraph_entry:                   |            __do_softirq() {
           a.out-4609  [003]    50.324400: funcgraph_entry:        0.620 us   |              __local_bh_disable_ip();
           a.out-4609  [003]    50.324402: funcgraph_entry:                   |              rcu_core_si() {
           a.out-4609  [003]    50.324402: funcgraph_entry:                   |                rcu_core() {
           a.out-4609  [003]    50.324403: funcgraph_entry:                   |                  note_gp_changes() {
           a.out-4609  [003]    50.324404: funcgraph_entry:                   |                    _raw_spin_trylock() {
           a.out-4609  [003]    50.324407: funcgraph_entry:        0.610 us   |                      preempt_count_add();
           a.out-4609  [003]    50.324408: funcgraph_exit:         4.750 us   |                    }
           a.out-4609  [003]    50.324409: funcgraph_entry:                   |                    __note_gp_changes() {
           a.out-4609  [003]    50.324409: funcgraph_entry:                   |                      rcu_advance_cbs() {
           a.out-4609  [003]    50.324410: funcgraph_entry:        0.610 us   |                        rcu_segcblist_pend_cbs();
           a.out-4609  [003]    50.324411: funcgraph_exit:         1.770 us   |                      }
           a.out-4609  [003]    50.324412: funcgraph_entry:        0.620 us   |                      rcu_gpnum_ovf();
           a.out-4609  [003]    50.324413: funcgraph_exit:         4.270 us   |                    }
           a.out-4609  [003]    50.324414: funcgraph_entry:                   |                    _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324414: funcgraph_entry:        0.630 us   |                      preempt_count_sub();
           a.out-4609  [003]    50.324416: funcgraph_exit:         1.830 us   |                    }
           a.out-4609  [003]    50.324416: funcgraph_exit:       + 13.240 us  |                  }
           a.out-4609  [003]    50.324417: funcgraph_entry:        0.640 us   |                  rcu_jiffies_till_stall_check();
           a.out-4609  [003]    50.324418: funcgraph_entry:        0.630 us   |                  rcu_segcblist_ready_cbs();
           a.out-4609  [003]    50.324419: funcgraph_exit:       + 16.960 us  |                }
           a.out-4609  [003]    50.324420: funcgraph_exit:       + 18.210 us  |              }
           a.out-4609  [003]    50.324420: funcgraph_entry:        0.630 us   |              __local_bh_enable();
           a.out-4609  [003]    50.324422: funcgraph_exit:       + 21.910 us  |            }
           a.out-4609  [003]    50.324422: funcgraph_entry:        0.610 us   |            idle_cpu();
           a.out-4609  [003]    50.324424: funcgraph_exit:       + 26.220 us  |          }
           a.out-4609  [003]    50.324425: funcgraph_entry:        0.650 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324426: funcgraph_exit:       ! 171.100 us |        }
           a.out-4609  [003]    50.324427: funcgraph_exit:       ! 177.050 us |      }
           a.out-4609  [003]    50.324427: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324428: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324429: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324429: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324430: funcgraph_exit:         1.810 us   |          }
           a.out-4609  [003]    50.324431: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324432: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324433: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324434: funcgraph_entry:        0.630 us   |              preempt_count_add();
           a.out-4609  [003]    50.324435: funcgraph_exit:         1.840 us   |            }
           a.out-4609  [003]    50.324435: funcgraph_exit:         4.200 us   |          }
           a.out-4609  [003]    50.324436: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324437: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324438: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324439: funcgraph_exit:         1.820 us   |          }
           a.out-4609  [003]    50.324439: funcgraph_exit:       + 11.460 us  |        }
           a.out-4609  [003]    50.324440: funcgraph_exit:       + 12.680 us  |      }
           a.out-4609  [003]    50.324441: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324441: funcgraph_entry:        0.620 us   |        preempt_count_add();
           a.out-4609  [003]    50.324442: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324444: funcgraph_exit:         3.060 us   |      }
           a.out-4609  [003]    50.324445: funcgraph_entry:        0.620 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324446: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324447: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324447: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324448: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324450: funcgraph_exit:         3.030 us   |        }
           a.out-4609  [003]    50.324450: funcgraph_entry:        0.620 us   |        __cond_resched();
           a.out-4609  [003]    50.324451: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324452: funcgraph_entry:        0.620 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324453: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324454: funcgraph_exit:         3.090 us   |        }
           a.out-4609  [003]    50.324455: funcgraph_exit:         9.060 us   |      }
           a.out-4609  [003]    50.324456: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324456: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324457: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324458: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324459: funcgraph_exit:         1.810 us   |          }
           a.out-4609  [003]    50.324459: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324460: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324461: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324462: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324463: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324463: funcgraph_exit:         4.190 us   |          }
           a.out-4609  [003]    50.324464: funcgraph_entry:        0.630 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324465: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324466: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324467: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324468: funcgraph_exit:       + 11.390 us  |        }
           a.out-4609  [003]    50.324468: funcgraph_exit:       + 12.580 us  |      }
           a.out-4609  [003]    50.324469: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324469: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324471: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324472: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324473: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324474: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324475: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324475: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324476: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324478: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324478: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324479: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324480: funcgraph_entry:        0.620 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324481: funcgraph_entry:        0.630 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324482: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324483: funcgraph_exit:         9.030 us   |      }
           a.out-4609  [003]    50.324484: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324484: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324485: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324486: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324487: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324487: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324488: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324489: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324490: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324491: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324491: funcgraph_exit:         4.180 us   |          }
           a.out-4609  [003]    50.324492: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324493: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324494: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324495: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324496: funcgraph_exit:       + 11.380 us  |        }
           a.out-4609  [003]    50.324497: funcgraph_exit:       + 12.590 us  |      }
           a.out-4609  [003]    50.324497: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324498: funcgraph_entry:        0.620 us   |        preempt_count_add();
           a.out-4609  [003]    50.324499: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324500: funcgraph_exit:         3.070 us   |      }
           a.out-4609  [003]    50.324501: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324503: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324503: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324504: funcgraph_entry:        0.610 us   |          preempt_count_add();
           a.out-4609  [003]    50.324505: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324506: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324507: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324508: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324509: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324510: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324511: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324512: funcgraph_exit:         9.030 us   |      }
           a.out-4609  [003]    50.324512: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324513: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324514: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324514: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324515: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324516: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324517: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324518: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324518: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324520: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324520: funcgraph_exit:         4.180 us   |          }
           a.out-4609  [003]    50.324521: funcgraph_entry:        0.630 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324522: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324523: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324524: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324524: funcgraph_exit:       + 11.370 us  |        }
           a.out-4609  [003]    50.324525: funcgraph_exit:       + 12.580 us  |      }
           a.out-4609  [003]    50.324525: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324526: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324527: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324528: funcgraph_exit:         2.990 us   |      }
           a.out-4609  [003]    50.324529: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324531: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324531: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324532: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324533: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324534: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324535: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324536: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324537: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324538: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324539: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324540: funcgraph_exit:         9.090 us   |      }
           a.out-4609  [003]    50.324540: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324541: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324542: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324542: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324543: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324544: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324545: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324546: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324546: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324548: funcgraph_exit:         1.810 us   |            }
           a.out-4609  [003]    50.324548: funcgraph_exit:         4.200 us   |          }
           a.out-4609  [003]    50.324549: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324550: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324551: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324552: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324552: funcgraph_exit:       + 11.380 us  |        }
           a.out-4609  [003]    50.324553: funcgraph_exit:       + 12.580 us  |      }
           a.out-4609  [003]    50.324553: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324554: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324555: funcgraph_entry:        0.630 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324556: funcgraph_exit:         3.010 us   |      }
           a.out-4609  [003]    50.324557: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324559: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324559: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324560: funcgraph_entry:        0.610 us   |          preempt_count_add();
           a.out-4609  [003]    50.324561: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324562: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324563: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324564: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324565: funcgraph_entry:        0.620 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324566: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324567: funcgraph_exit:         3.070 us   |        }
           a.out-4609  [003]    50.324568: funcgraph_exit:         9.020 us   |      }
           a.out-4609  [003]    50.324568: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324569: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324570: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324571: funcgraph_entry:        1.360 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324572: funcgraph_exit:         2.550 us   |          }
           a.out-4609  [003]    50.324573: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324573: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324575: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324575: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324576: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324577: funcgraph_exit:         4.190 us   |          }
           a.out-4609  [003]    50.324578: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324579: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324579: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324580: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324581: funcgraph_exit:       + 12.130 us  |        }
           a.out-4609  [003]    50.324582: funcgraph_exit:       + 13.320 us  |      }
           a.out-4609  [003]    50.324582: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324583: funcgraph_entry:        0.620 us   |        preempt_count_add();
           a.out-4609  [003]    50.324584: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324585: funcgraph_exit:         2.990 us   |      }
           a.out-4609  [003]    50.324586: funcgraph_entry:        0.620 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324587: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324588: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324589: funcgraph_entry:        0.610 us   |          preempt_count_add();
           a.out-4609  [003]    50.324590: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324591: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324592: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324593: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324593: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324595: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324596: funcgraph_exit:         3.070 us   |        }
           a.out-4609  [003]    50.324596: funcgraph_exit:         9.020 us   |      }
           a.out-4609  [003]    50.324597: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324598: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324598: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324599: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324600: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324601: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324601: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324603: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324603: funcgraph_entry:        0.610 us   |              preempt_count_add();
           a.out-4609  [003]    50.324604: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324605: funcgraph_exit:         4.180 us   |          }
           a.out-4609  [003]    50.324606: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324607: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324607: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324608: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324609: funcgraph_exit:       + 11.380 us  |        }
           a.out-4609  [003]    50.324610: funcgraph_exit:       + 12.580 us  |      }
           a.out-4609  [003]    50.324610: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324611: funcgraph_entry:        0.620 us   |        preempt_count_add();
           a.out-4609  [003]    50.324612: funcgraph_entry:        0.630 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324613: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324614: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324615: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324616: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324617: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324618: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324619: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324620: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324621: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324621: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324623: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324624: funcgraph_exit:         3.070 us   |        }
           a.out-4609  [003]    50.324624: funcgraph_exit:         9.020 us   |      }
           a.out-4609  [003]    50.324625: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324626: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324626: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324627: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324628: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324629: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324629: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324631: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324631: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324632: funcgraph_exit:         1.810 us   |            }
           a.out-4609  [003]    50.324633: funcgraph_exit:         4.190 us   |          }
           a.out-4609  [003]    50.324634: funcgraph_entry:        0.630 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324635: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324635: funcgraph_entry:        0.610 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324636: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324637: funcgraph_exit:       + 11.380 us  |        }
           a.out-4609  [003]    50.324638: funcgraph_exit:       + 12.570 us  |      }
           a.out-4609  [003]    50.324638: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324639: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324640: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324641: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324642: funcgraph_entry:        0.620 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324644: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324645: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324645: funcgraph_entry:        0.690 us   |          preempt_count_add();
           a.out-4609  [003]    50.324647: funcgraph_entry:        0.630 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324648: funcgraph_exit:         3.120 us   |        }
           a.out-4609  [003]    50.324648: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324650: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324650: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324651: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324653: funcgraph_exit:         3.090 us   |        }
           a.out-4609  [003]    50.324653: funcgraph_exit:         9.700 us   |      }
           a.out-4609  [003]    50.324654: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324654: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324655: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324656: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324657: funcgraph_exit:         1.810 us   |          }
           a.out-4609  [003]    50.324657: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324658: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324659: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324660: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324661: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324662: funcgraph_exit:         4.190 us   |          }
           a.out-4609  [003]    50.324662: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324663: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324664: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324665: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324666: funcgraph_exit:       + 11.410 us  |        }
           a.out-4609  [003]    50.324666: funcgraph_exit:       + 12.620 us  |      }
           a.out-4609  [003]    50.324667: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324668: funcgraph_entry:        0.620 us   |        preempt_count_add();
           a.out-4609  [003]    50.324669: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324670: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324671: funcgraph_entry:        0.620 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324672: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324673: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324673: funcgraph_entry:        0.610 us   |          preempt_count_add();
           a.out-4609  [003]    50.324675: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324676: funcgraph_exit:         3.030 us   |        }
           a.out-4609  [003]    50.324676: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324678: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324678: funcgraph_entry:        0.620 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324679: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324681: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324681: funcgraph_exit:         9.040 us   |      }
           a.out-4609  [003]    50.324682: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324682: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324683: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324684: funcgraph_entry:        0.620 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324685: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324686: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324686: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324687: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324688: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324689: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324690: funcgraph_exit:         4.190 us   |          }
           a.out-4609  [003]    50.324690: funcgraph_entry:        0.630 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324692: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324692: funcgraph_entry:        0.610 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324693: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324694: funcgraph_exit:       + 11.430 us  |        }
           a.out-4609  [003]    50.324694: funcgraph_exit:       + 12.630 us  |      }
           a.out-4609  [003]    50.324695: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324696: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324697: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324698: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324699: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324700: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324701: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324702: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324703: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324704: funcgraph_exit:         3.020 us   |        }
           a.out-4609  [003]    50.324705: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324706: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324706: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324708: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324709: funcgraph_exit:         3.070 us   |        }
           a.out-4609  [003]    50.324709: funcgraph_exit:         9.020 us   |      }
           a.out-4609  [003]    50.324710: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324711: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324711: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324712: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324713: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324714: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324714: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324715: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324716: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324718: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324718: funcgraph_exit:         4.710 us   |          }
           a.out-4609  [003]    50.324719: funcgraph_entry:        0.630 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324720: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324721: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324722: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324722: funcgraph_exit:       + 11.960 us  |        }
           a.out-4609  [003]    50.324723: funcgraph_exit:       + 13.170 us  |      }
           a.out-4609  [003]    50.324724: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324724: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324725: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324727: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324728: funcgraph_entry:        0.610 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324729: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324730: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324730: funcgraph_entry:        0.610 us   |          preempt_count_add();
           a.out-4609  [003]    50.324732: funcgraph_entry:        0.630 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324733: funcgraph_exit:         3.030 us   |        }
           a.out-4609  [003]    50.324733: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324735: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324735: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324736: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324738: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324738: funcgraph_exit:         9.040 us   |      }
           a.out-4609  [003]    50.324739: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324739: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324740: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324741: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324742: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324742: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324743: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324744: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324745: funcgraph_entry:        0.620 us   |              preempt_count_add();
           a.out-4609  [003]    50.324746: funcgraph_exit:         1.820 us   |            }
           a.out-4609  [003]    50.324747: funcgraph_exit:         4.190 us   |          }
           a.out-4609  [003]    50.324747: funcgraph_entry:        0.630 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324748: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324749: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324750: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324751: funcgraph_exit:       + 11.410 us  |        }
           a.out-4609  [003]    50.324751: funcgraph_exit:       + 12.610 us  |      }
           a.out-4609  [003]    50.324752: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324753: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324754: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324755: funcgraph_exit:         2.990 us   |      }
           a.out-4609  [003]    50.324756: funcgraph_entry:        0.620 us   |      fault_in_kernel_space();
           a.out-4609  [003]    50.324757: funcgraph_entry:                   |      lock_mm_and_find_vma() {
           a.out-4609  [003]    50.324758: funcgraph_entry:                   |        down_read_trylock() {
           a.out-4609  [003]    50.324758: funcgraph_entry:        0.620 us   |          preempt_count_add();
           a.out-4609  [003]    50.324760: funcgraph_entry:        0.620 us   |          preempt_count_sub();
           a.out-4609  [003]    50.324761: funcgraph_exit:         3.010 us   |        }
           a.out-4609  [003]    50.324761: funcgraph_entry:        0.610 us   |        __cond_resched();
           a.out-4609  [003]    50.324763: funcgraph_entry:                   |        find_vma() {
           a.out-4609  [003]    50.324763: funcgraph_entry:        0.610 us   |          __rcu_read_lock();
           a.out-4609  [003]    50.324764: funcgraph_entry:        0.620 us   |          __rcu_read_unlock();
           a.out-4609  [003]    50.324766: funcgraph_exit:         3.080 us   |        }
           a.out-4609  [003]    50.324766: funcgraph_exit:         9.020 us   |      }
           a.out-4609  [003]    50.324767: funcgraph_entry:                   |      handle_mm_fault() {
           a.out-4609  [003]    50.324767: funcgraph_entry:                   |        __handle_mm_fault() {
           a.out-4609  [003]    50.324768: funcgraph_entry:                   |          pte_offset_map_nolock() {
           a.out-4609  [003]    50.324769: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324770: funcgraph_exit:         1.800 us   |          }
           a.out-4609  [003]    50.324770: funcgraph_entry:                   |          __pte_offset_map_lock() {
           a.out-4609  [003]    50.324771: funcgraph_entry:        0.610 us   |            __pte_offset_map();
           a.out-4609  [003]    50.324772: funcgraph_entry:                   |            _raw_spin_lock() {
           a.out-4609  [003]    50.324773: funcgraph_entry:        0.610 us   |              preempt_count_add();
           a.out-4609  [003]    50.324774: funcgraph_exit:         1.810 us   |            }
           a.out-4609  [003]    50.324775: funcgraph_exit:         4.180 us   |          }
           a.out-4609  [003]    50.324775: funcgraph_entry:        0.620 us   |          vmf_pte_changed();
           a.out-4609  [003]    50.324776: funcgraph_entry:                   |          _raw_spin_unlock() {
           a.out-4609  [003]    50.324777: funcgraph_entry:        0.620 us   |            preempt_count_sub();
           a.out-4609  [003]    50.324778: funcgraph_exit:         1.790 us   |          }
           a.out-4609  [003]    50.324779: funcgraph_exit:       + 11.370 us  |        }
           a.out-4609  [003]    50.324779: funcgraph_exit:       + 12.560 us  |      }
           a.out-4609  [003]    50.324780: funcgraph_entry:                   |      up_read() {
           a.out-4609  [003]    50.324780: funcgraph_entry:        0.610 us   |        preempt_count_add();
           a.out-4609  [003]    50.324782: funcgraph_entry:        0.620 us   |        preempt_count_sub();
           a.out-4609  [003]    50.324783: funcgraph_exit:         3.000 us   |      }
           a.out-4609  [003]    50.324784: funcgraph_exit:       ! 622.580 us |    }
           a.out-4609  [003]    50.324785: funcgraph_entry:        0.720 us   |    eth_type_trans();
           a.out-4609  [003]    50.324786: funcgraph_entry:                   |    __skb_flow_dissect() {
           a.out-4609  [003]    50.324787: funcgraph_entry:        0.620 us   |      __rcu_read_lock();
           a.out-4609  [003]    50.324788: funcgraph_entry:        0.620 us   |      __rcu_read_unlock();
           a.out-4609  [003]    50.324790: funcgraph_exit:         4.340 us   |    }
           a.out-4609  [003]    50.324791: funcgraph_entry:        0.640 us   |    __local_bh_disable_ip();
           a.out-4609  [003]    50.324793: funcgraph_entry:        0.660 us   |    __rcu_read_lock();
           a.out-4609  [003]    50.324794: funcgraph_entry:                   |    do_xdp_generic() {
           a.out-4609  [003]    50.324795: funcgraph_entry:                   |      pskb_expand_head() {
           a.out-4609  [003]    50.324796: funcgraph_entry:                   |        kmalloc_reserve() {
           a.out-4609  [003]    50.324796: funcgraph_entry:        0.610 us   |          kmalloc_size_roundup();
           a.out-4609  [003]    50.324797: funcgraph_entry:                   |          __kmalloc_node_track_caller() {
           a.out-4609  [003]    50.324798: funcgraph_entry:                   |            __kmalloc_large_node() {
           a.out-4609  [003]    50.324799: funcgraph_entry:                   |              __alloc_pages() {
           a.out-4609  [003]    50.324799: funcgraph_entry:        0.600 us   |                should_fail_alloc_page();
           a.out-4609  [003]    50.324800: funcgraph_entry:                   |                get_page_from_freelist() {
           a.out-4609  [003]    50.324801: funcgraph_entry:        0.640 us   |                  __zone_watermark_ok();
           a.out-4609  [003]    50.324802: funcgraph_entry:                   |                  _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.324803: funcgraph_entry:        0.600 us   |                    preempt_count_add();
           a.out-4609  [003]    50.324804: funcgraph_exit:         1.810 us   |                  }
           a.out-4609  [003]    50.324805: funcgraph_entry:        0.620 us   |                  __mod_zone_page_state();
           a.out-4609  [003]    50.324806: funcgraph_entry:                   |                  _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324807: funcgraph_entry:        0.610 us   |                    preempt_count_sub();
           a.out-4609  [003]    50.324808: funcgraph_exit:         1.800 us   |                  }
           a.out-4609  [003]    50.324809: funcgraph_entry:                   |                  prep_new_page() {
           a.out-4609  [003]    50.324811: funcgraph_entry:        1.040 us   |                    prep_compound_page();
           a.out-4609  [003]    50.324812: funcgraph_exit:         3.560 us   |                  }
           a.out-4609  [003]    50.324813: funcgraph_exit:       + 12.300 us  |                }
           a.out-4609  [003]    50.324813: funcgraph_exit:       + 14.700 us  |              }
           a.out-4609  [003]    50.324814: funcgraph_entry:        0.640 us   |              mod_node_page_state();
           a.out-4609  [003]    50.324815: funcgraph_exit:       + 17.120 us  |            }
           a.out-4609  [003]    50.324816: funcgraph_exit:       + 18.310 us  |          }
           a.out-4609  [003]    50.324816: funcgraph_exit:       + 20.700 us  |        }
           a.out-4609  [003]    50.324822: funcgraph_entry:                   |        skb_free_head() {
           a.out-4609  [003]    50.324822: funcgraph_entry:                   |          skb_kfree_head() {
           a.out-4609  [003]    50.324823: funcgraph_entry:                   |            kfree() {
           a.out-4609  [003]    50.324824: funcgraph_entry:                   |              free_large_kmalloc() {
           a.out-4609  [003]    50.324824: funcgraph_entry:        0.620 us   |                mod_node_page_state();
           a.out-4609  [003]    50.324825: funcgraph_entry:                   |                __free_pages() {
           a.out-4609  [003]    50.324826: funcgraph_entry:                   |                  __free_pages_ok() {
           a.out-4609  [003]    50.324827: funcgraph_entry:        0.620 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324828: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324829: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324830: funcgraph_entry:        0.620 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324832: funcgraph_entry:        0.620 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324833: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324834: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324835: funcgraph_entry:        0.620 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324836: funcgraph_entry:        0.620 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324838: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324839: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324840: funcgraph_entry:        0.620 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324841: funcgraph_entry:        0.620 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324842: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324844: funcgraph_entry:        0.610 us   |                    free_tail_page_prepare();
           a.out-4609  [003]    50.324845: funcgraph_entry:                   |                    _raw_spin_lock_irqsave() {
           a.out-4609  [003]    50.324846: funcgraph_entry:        0.600 us   |                      preempt_count_add();
           a.out-4609  [003]    50.324847: funcgraph_exit:         1.820 us   |                    }
           a.out-4609  [003]    50.324847: funcgraph_entry:        0.610 us   |                    __mod_zone_page_state();
           a.out-4609  [003]    50.324849: funcgraph_entry:                   |                    _raw_spin_unlock_irqrestore() {
           a.out-4609  [003]    50.324850: funcgraph_entry:        0.610 us   |                      preempt_count_sub();
           a.out-4609  [003]    50.324851: funcgraph_exit:         1.790 us   |                    }
           a.out-4609  [003]    50.324851: funcgraph_exit:       + 25.120 us  |                  }
           a.out-4609  [003]    50.324852: funcgraph_exit:       + 26.370 us  |                }
           a.out-4609  [003]    50.324852: funcgraph_exit:       + 28.790 us  |              }
           a.out-4609  [003]    50.324853: funcgraph_exit:       + 29.990 us  |            }
           a.out-4609  [003]    50.324853: funcgraph_exit:       + 31.180 us  |          }
           a.out-4609  [003]    50.324854: funcgraph_exit:       + 32.460 us  |        }
           a.out-4609  [003]    50.324855: funcgraph_entry:        0.660 us   |        skb_headers_offset_update();
           a.out-4609  [003]    50.324856: funcgraph_exit:       + 61.220 us  |      }
           a.out-4609  [003]    50.324857: funcgraph_entry:                   |      bpf_prog_run_generic_xdp() {
           a.out-4609  [003]    50.324858: funcgraph_entry:                   |        __bpf_prog_run32() {
           a.out-4609  [003]    50.324858: funcgraph_entry:                   |          ___bpf_prog_run() {
           a.out-4609  [003]    50.324859: funcgraph_entry:                   |            bpf_xdp_adjust_tail() {
           a.out-4609  [003]    50.324860: funcgraph_entry:                   |              __warn_printk() {
           a.out-4609  [003]    50.324861: funcgraph_entry:                   |                _printk() {
[truncated some long traces for printk]

  reply	other threads:[~2023-07-27 23:48 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-25 15:54 [PATCH v3] drivers: net: prevent tun_get_user() to exceed xdp size limits Andrew Kanner
2023-07-26  2:09 ` Jason Wang
2023-07-26  7:20   ` Andrew Kanner
2023-07-26  9:02   ` Jesper Dangaard Brouer
2023-07-26 19:37     ` David Ahern
2023-07-27  0:27       ` David Ahern
2023-07-27  6:07         ` Jason Wang
2023-07-27  9:30           ` Paolo Abeni
2023-07-27 11:13             ` Jesper Dangaard Brouer
2023-07-27 23:48               ` Andrew Kanner [this message]
2023-07-28  0:11                 ` David Ahern
2023-07-31 15:47                   ` Andrew Kanner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=64c30249.2e0a0220.f779a.1c31@mx.google.com \
    --to=andrew.kanner@gmail.com \
    --cc=brouer@redhat.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=edumazet@google.com \
    --cc=jasowang@redhat.com \
    --cc=jbrouer@redhat.com \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=syzbot+f817490f5bd20541b90a@syzkaller.appspotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox