Date: Wed, 19 Feb 2014 20:49:01 +0200 From: Mikolaj Golub <trociny@FreeBSD.org> To: Martin Matuska <mm@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r262196 - head/sys/netpfil/pf Message-ID: <20140219184859.GA3844@gmail.com> In-Reply-To: <201402182217.s1IMHCeM077356@svn.freebsd.org> References: <201402182217.s1IMHCeM077356@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 18, 2014 at 10:17:12PM +0000, Martin Matuska wrote: > Author: mm > Date: Tue Feb 18 22:17:12 2014 > New Revision: 262196 > URL: http://svnweb.freebsd.org/changeset/base/262196 > > Log: > De-virtualize pf_mtag_z [1] > Process V_pf_overloadqueue in vnet context [2] Martin I saw you reverted it but it looks you are going to work on it still, so one comment below. ... > -SLIST_HEAD(pf_overload_head, pf_overload_entry); > +struct pf_overload_head { > + SLIST_HEAD(, pf_overload_entry) head; > + struct vnet *vnet; > +}; > static VNET_DEFINE(struct pf_overload_head, pf_overloadqueue); > #define V_pf_overloadqueue VNET(pf_overloadqueue) ... > - SLIST_INIT(&V_pf_overloadqueue); > + SLIST_INIT(&V_pf_overloadqueue.head); > TASK_INIT(&V_pf_overloadtask, 0, pf_overload_task, &V_pf_overloadqueue); > + V_pf_overloadqueue.vnet = curvnet; Why not pass vnet as a context to pf_overload_task instead of &V_pf_overloadqueue? Then you would not need this hack with storing a vnet inside a vnet variable. -- Mikolaj Golub
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140219184859.GA3844>