Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Jul 2014 22:43:25 +0100
From:      Vlad Galu <galu@packetdam.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Weird ISR accounting in 10-STABLE
Message-ID:  <CABN%2B6JnpiV0JZ0BdNAKv4FOsVJHCZUC6fmDi2-Wwox5EUhrseg@mail.gmail.com>
In-Reply-To: <201407091402.23537.jhb@freebsd.org>
References:  <CABN%2B6JmYP4U1vT7r7vy810TUzdH%2BqG=zuHRnNU9fDzOF0J-skg@mail.gmail.com> <CABN%2B6JnjgGy_S1Sq-a28TgQ20A-KXn1J-F7TsAx4qEPgUFSx8Q@mail.gmail.com> <CABN%2B6JmjUVg1z-nC1LmZNYeWffWyKzhrP7=6B_q5KSHav2ocfA@mail.gmail.com> <201407091402.23537.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I hope I'm doing this the right way. Invoking DTrace as dtrace -n
'profile-1000 /curthread->td_name == "swi1: netisr 0"/ { @[func(arg0)] =
count(); }' outputs:

-- cut here --
  kernel`__mtx_lock_sleep                                           2
  kernel`in6_rtalloc1                                              15
  kernel`mb_dtor_mbuf                                              25
  kernel`m_tag_delete_nonpersistent                                26
  kernel`m_tag_delete_chain                                        29
  kernel`swi_net                                                   29
  kernel`netisr_select_cpuid                                       34
  kernel`mac_mbuf_init                                             37
  kernel`ipsec_in_reject                                           42
  kernel`nd6_output                                                44
  kernel`key_havesp                                                44
  kernel`mac_policy_sunlock_nosleep                                51
  kernel`mac_mbuf_to_label                                         51
  kernel`m_tag_copy_chain                                          52
  kernel`ip6_ipsec_filtertunnel                                    53
  kernel`critical_enter                                            58
  kernel`critical_exit                                             58
  kernel`pf_check6_in                                              58
  kernel`netisr_queue                                              59
  kernel`ipsec6_in_reject                                          59
  kernel`m_freem                                                   63
  kernel`mac_policy_slock_nosleep                                  63
  kernel`pf_check6_out                                             69
  kernel`in6_lltable_lookup                                        87
  kernel`in6_clearscope                                           102
  kernel`looutput                                                 108
  kernel`if_simloop                                               121
  kernel`ipsec_getpolicybyaddr                                    134
  kernel`rtfree                                                   160
  kernel`uma_zalloc_arg                                           211
  kernel`m_copym                                                  262
  kernel`mac_netinet6_nd6_send                                    268
  kernel`key_allocsp_default                                      270
  kernel`pfil_run_hooks                                           303
  kernel`pf_test6                                                 335
  kernel`uma_zfree_arg                                            337
  kernel`bcopy                                                    340
  kernel`mac_ifnet_create_mbuf                                    358
  kernel`netisr_queue_internal                                    368
  kernel`_rm_runlock                                              371
  kernel`rtalloc1_fib                                             385
  kernel`mb_ctor_mbuf                                             412
  kernel`nd6_output_lle                                           465
  kernel`_key_freesp                                              506
  kernel`key_addref                                               521
  kernel`_rw_runlock_cookie                                       602
  kernel`__rw_rlock                                               606
  kernel`in6_setscope                                             662
  kernel`_rm_rlock                                                758
  kernel`rn_match                                                 797
  kernel`mac_ifnet_check_transmit                                1110
  kernel`ip6_forward                                             1334
  kernel`bzero                                                   1492
  kernel`ip6_input                                               1685
  kernel`bcmp                                                    3511
-- and here --

The swi thread is definitely the naughtiest, running dtrace -n
'profile-1000 { @[stringof(curthread->td_name)] = count(); }' shows:
-- cut here --
  aiod1                                                             1
  arc_reclaim_thread                                                1
  trim tank                                                         1
  txg_thread_enter                                                  1
  vmdaemon                                                          1
  zio_write_issue_1                                                 1
  acpi_cooling1                                                     2
  acpi_thermal                                                      2
  irq265: re0                                                       2
  vnlru                                                             2
  bufdaemon                                                         3
  irq266: ahci0                                                     3
  l2arc_feed_thread                                                 3
  sshd                                                              5
  pagedaemon                                                        6
  syncer                                                           13
  dtrace                                                           17
  cut                                                              18
  sh                                                               18
  tmux                                                             30
  rand_harvestq                                                    38
  pf purge                                                         51
  swi4: clock                                                     256
  idle: cpu3                                                    18803
  idle: cpu5                                                    18810
  idle: cpu4                                                    18826
  idle: cpu2                                                    18836
  idle: cpu7                                                    18839
  idle: cpu6                                                    18842
  idle: cpu0                                                    18882
  swi1: netisr 0                                                19008
-- and here --


On Wed, Jul 9, 2014 at 7:02 PM, John Baldwin <jhb@freebsd.org> wrote:

> On Tuesday, July 08, 2014 8:56:44 am Vlad Galu wrote:
> > The symptom has reappeared, although interestingly enough I can't spot
> > anything out of the ordinary in this DTrace output:
>
> Can you get dtrace to only display the functions called by that thread?
>
> --
> John Baldwin
>



-- 
Regards,
Vlad



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABN%2B6JnpiV0JZ0BdNAKv4FOsVJHCZUC6fmDi2-Wwox5EUhrseg>