pf + vimage patch
Mikolaj Golub
trociny at FreeBSD.org
Thu Jun 6 12:24:17 UTC 2013
On Thu, Jun 06, 2013 at 12:35:33PM +0200, Nikos Vassiliadis wrote:
> >> -VNET_DEFINE(u_long, pf_srchashsize);
> >> -#define V_pf_srchashsize VNET(pf_srchashsize)
> >> -SYSCTL_VNET_UINT(_net_pf, OID_AUTO, source_nodes_hashsize, CTLFLAG_RDTUN,
> >> - &VNET_NAME(pf_srchashsize), 0, "Size of pf(4) source nodes hashtable");
> >> +u_long pf_srchashsize;
> >> +SYSCTL_UINT(_net_pf, OID_AUTO, source_nodes_hashsize, CTLFLAG_RDTUN,
> >> + &pf_srchashsize, 0, "Size of pf(4) source nodes hashtable");
> >>
> >
> > Why do you have to devirtualize these variables? Are per vnet
> > hashtables sizes not useful or do they cause issues?
>
> Per VNET variables are not useful for pf_hashsize and pf_srchashsize
> since these values are RO and cannot be modified at runtime.
Indeed. I missed RDTUN flag.
> module unload is broken:( Maybe it can be fixed at a (bit) later date?
I don't think Gleb will be happy with this. Some time ago he removed
some vimage related stuff to prevent crashing on module unload (see
r229849). Actually your patch looks like a partial revert of that
commit. So I think you need to think about this issue from start. At
least it should not crash non-vimage kernel and there should be
understanding how to fix it for vimage kernel. Your approach with
keeping only one purge thread might make it simpler.
--
Mikolaj Golub
More information about the freebsd-virtualization
mailing list