The multicast routing code was using spin mutexes for packet counting,
but there is no reason to use them instead of regular mutexes, given
that none of this code runs in an interrupt context. Convert to using
default mutexes.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Well, my goal here wasn't related to PPS or any performance metric, I just wanted to fix a misuse of kernel interfaces. I do expect there will be some work done to improve mcast forwarding performance once the multi-FIB-aware patches land.
Directly modifying the code to use atomic operations might help, so long as different CPUs aren't frequently contending to update the same counter. The per-VIF counters would probably be better-served by being converted to counter(9).
Comment Actions
Fair enough. I think Pavlin was responsible for much of this code originally; he has since been sucked into the Googleplex.