From owner-freebsd-pf@FreeBSD.ORG Mon Oct 17 19:13:49 2011 Return-Path: Delivered-To: freebsd-pf@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6775106566B; Mon, 17 Oct 2011 19:13:49 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.64.117]) by mx1.freebsd.org (Postfix) with ESMTP id 6ADDC8FC12; Mon, 17 Oct 2011 19:13:49 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.4/8.14.4) with ESMTP id p9HJDm4H067669; Mon, 17 Oct 2011 23:13:48 +0400 (MSD) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.4/8.14.4/Submit) id p9HJDmQT067668; Mon, 17 Oct 2011 23:13:48 +0400 (MSD) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Mon, 17 Oct 2011 23:13:48 +0400 From: Gleb Smirnoff To: Ermal Lu?i Message-ID: <20111017191348.GG51949@glebius.int.ru> References: <201110151420.p9FEKulv026435@freefall.freebsd.org> <20111017131742.GC51949@glebius.int.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: nerijus.ambrazas@ktu.lt, bug-followup@FreeBSD.org, freebsd-pf@FreeBSD.org 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 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:13:50 -0000 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.