svn commit: r304436 - in head: . sys/netinet

Slawa Olhovchenkov slw at zxy.spb.ru
Sun Aug 28 17:54:39 UTC 2016


On Sun, Aug 28, 2016 at 10:20:08AM -0700, Adrian Chadd wrote:

> * the rtalloc1_fib thing - that's odd, because it shouldn't be
> contending there unless there's some temporary redirect that's been
> learnt. What's the routing table look like on your machine? I Remember
> investigating the rtentry reference counting a while ago and concluded
> that .. it's terrible, and one specific corner case was checking for
> routes from redirects. I'll look at my notes again and see what I
> find.

JFYI:

              kernel`rtalloc1_fib+0x6d
              kernel`rtalloc_ign_fib+0xcc
              kernel`ip_output+0x3a5
              kernel`tcp_output+0x1852
              kernel`tcp_timer_rexmt+0x60e
              kernel`softclock_call_cc+0x17b
              kernel`softclock+0x94
              kernel`intr_event_execute_handlers+0xab
              kernel`ithread_loop+0x96
              kernel`fork_exit+0x9a
              kernel`0xffffffff806c8e0e
        176868370


kernel`ip_output+0x3a5 is sys/netinet/ip_output.c:282

                /*
                 * We want to do any cloning requested by the link layer,
                 * as this is probably required in all cases for correct
                 * operation (as it is for ARP).
                 */
                if (rte == NULL) {
#ifdef RADIX_MPATH
                        rtalloc_mpath_fib(ro,
                            ntohl(ip->ip_src.s_addr ^ ip->ip_dst.s_addr),
                            inp ? inp->inp_inc.inc_fibnum : M_GETFIB(m));
#else
                        in_rtalloc_ign(ro, 0,
                            inp ? inp->inp_inc.inc_fibnum : M_GETFIB(m));
#endif
                        rte = ro->ro_rt;
                }


More information about the svn-src-head mailing list