nd6_timer vs Giant vs locking in general

Mateusz Guzik mjguzik at gmail.com
Fri Oct 24 05:27:01 UTC 2014


Hello there,

dtrace revealed that the kernel schedules nd6_timer a lot. Not only
that, his callout is not mpsafe so the kernel locks Giant which I
believe is an oversight.

Also the code looks really suspicious as it walks V_in6_ifaddrhead
without any locking (not to mention there is an interestng comment:
XXXRW: in6_ifaddrhead locking :>)

Dropping it here in case there is someone interested in fixing this up.

-- 
Mateusz Guzik <mjguzik gmail.com>


More information about the freebsd-net mailing list