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

Adrian Chadd adrian at freebsd.org
Sun Aug 28 17:20:11 UTC 2016


Hi,

There are some no brainers here so far(tm):

working from the bottom up:

* yeah, the ixgbe locking is a bit silly. Kip's work with iflib and
converting ixgbe to use that instead of its own locking for managing
things should remove the bottom two locks
* 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.

            kernel`vm_object_madvise+0x39e
              kernel`vm_map_madvise+0x3bb
              kernel`sys_madvise+0x82
              kernel`amd64_syscall+0x40f
              kernel`0xffffffff806c8bbb
         97389657

.. something's doing frequent madvise calls, which may be causing some
hilarity between threads. What's the server? nginx?

Then the rest of the big entries are just a combination of rtentry
locking, tcp timer locking, zfs locking and madvise locking. There's
some sowakeup locking there as well, from the socket producer/consumer
locking.




-adrian


More information about the svn-src-head mailing list