Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Jun 2013 13:19:53 +0400
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        Ermal Lu?i <eri@freebsd.org>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: [PATCH] CARP using rw locks and unified timer
Message-ID:  <20130614091953.GP12443@FreeBSD.org>
In-Reply-To: <CAPBZQG1wLund5ry0nZm6Q9muomWEV1=hd_-zuRD%2BF60GR9QKyA@mail.gmail.com>
References:  <CAPBZQG1wLund5ry0nZm6Q9muomWEV1=hd_-zuRD%2BF60GR9QKyA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
  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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130614091953.GP12443>