[PATCH] CARP using rw locks and unified timer

Gleb Smirnoff glebius at FreeBSD.org
Fri Jun 14 09:20:11 UTC 2013


  Ermal,

On Mon, Jun 10, 2013 at 03:36:36PM +0200, Ermal Lu?i wrote:
E> at the location [1] is a patch for making carp(4):
E> - use rw locks
E> - unify the timers in carp to a single one for accuracy and predictability

Actually patch does a lot more than these two points.

E> This patch has been tested in pfSense for a long time and recently it has
E> been moved to FreeBSD 10.
E> It also fixed some races and LORs present in the whole stack especially
E> with bridge interfaces.

Can you please explain the races the patch is fixing? Can you please explain
LORs, since I don't know any.

Also, can you please explain reason for multiple (sc->sc_carpdev != NULL)
checks added? At which circumstances this could happen?

The reason for rwlock convertion should also be explained. Have you measured
any contention on carp mutexes?

P.S. The move of carp_version check to the top of carp_input_c() is a good
idea and should be committed as a separate change.

-- 
Totus tuus, Glebius.


More information about the freebsd-net mailing list