kern/114095: [carp] carp+pf delay with high state limit

Gleb Smirnoff glebius at
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>
To: Ermal Lu?i <eri at>
Cc: nerijus.ambrazas at, freebsd-pf at, bug-followup at
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> >
 E> > It used to be in stable/6:
 E> >
 E> >;i=carp_suppress_preempt
 E> >
 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 mailing list