From owner-freebsd-pf@FreeBSD.ORG Mon Oct 17 19:20:12 2011 Return-Path: Delivered-To: freebsd-pf@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 192D5106564A for ; Mon, 17 Oct 2011 19:20:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 091418FC08 for ; Mon, 17 Oct 2011 19:20:12 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p9HJKBjj068663 for ; Mon, 17 Oct 2011 19:20:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p9HJKBEL068662; Mon, 17 Oct 2011 19:20:11 GMT (envelope-from gnats) Date: Mon, 17 Oct 2011 19:20:11 GMT Message-Id: <201110171920.p9HJKBEL068662@freefall.freebsd.org> To: freebsd-pf@FreeBSD.org From: Gleb Smirnoff Cc: Subject: Re: kern/114095: [carp] carp+pf delay with high state limit X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Gleb Smirnoff List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Oct 2011 19:20:12 -0000 The following reply was made to PR kern/114095; it has been noted by GNATS. From: Gleb Smirnoff To: Ermal Lu?i Cc: nerijus.ambrazas@ktu.lt, freebsd-pf@FreeBSD.org, bug-followup@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> > E> > It used to be in stable/6: E> > E> > http://fxr.watson.org/fxr/ident?v=FREEBSD60;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> 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> 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 later. -- Totus tuus, Glebius.