kern/114095: [carp] carp+pf delay with high state limit
glebius at FreeBSD.org
Mon Oct 17 19:20:12 UTC 2011
The following reply was made to PR kern/114095; it has been noted by GNATS.
From: Gleb Smirnoff <glebius at FreeBSD.org>
To: Ermal Lu?i <eri at FreeBSD.org>
Cc: nerijus.ambrazas at ktu.lt, freebsd-pf at FreeBSD.org, bug-followup at FreeBSD.org
Subject: Re: kern/114095: [carp] carp+pf delay with high state limit
Date: Mon, 17 Oct 2011 23:13:48 +0400
On Mon, Oct 17, 2011 at 08:47:31PM +0200, Ermal Lu?i wrote:
E> > This is a surprise for me that this feature had been removed!
E> > It used to be in stable/6:
E> > http://fxr.watson.org/fxr/ident?v=FREEBSD60;i=carp_suppress_preempt
E> > And I always treated that variable in CARP as shared with pf. Why did
E> > they removed this feature from pfsync?
E> OpenBSD has it but FreeBSD is SMP capable and global vars without
E> synchronization do not work well.
E> To support that you have to add cross-dependencies and synchronization
E> between the two.
E> Not only synchronization though even some housekeeping around....
E> I will probably give a look at this again after 9.0.
Well, a possible race when pfsync clears its increment to
carp_suppress_preempt but the CPU where carp callout is running
doesn't notice it doesn't see it due to cache is harmless.
It just mean that preemption would happen not right after
pfsync has finished downloading states, but a couple of seconds
Totus tuus, Glebius.
More information about the freebsd-pf