De-virtualize V_pf_mtag_z to eliminate kernel panics.
Marko Zec
zec at fer.hr
Sat Jul 27 14:20:01 UTC 2013
On Saturday 27 July 2013 08:31:48 Craig Rodrigues wrote:
> Gleb,
>
> Since you did a lot of work in GRN 240233
> to fix PF issues, especially for VIMAGE, I thought I would
> ask your opinion on the attached patch.
>
> In this post:
>
> http://lists.freebsd.org/pipermail/freebsd-virtualization/2013-July/00140
>5.html
>
> I reported multiple PF-related panics when VIMAGE was enabled
> in my kernel config.
>
> In these posts:
> http://lists.freebsd.org/pipermail/freebsd-virtualization/2013-July/00141
>3.html
> http://lists.freebsd.org/pipermail/freebsd-virtualization/2013-July/00142
>0.html
>
> Marko Zec seemed to think that de-virtualizing V_pf_mtag_z
> would be a valid solution to this problem, and that keeping
> V_pf_mtag_z as a per-vnet variable is not necessary.
>
> What do you think of Marko's comments, and this patch?
Hi Craig,
while in principle I agree with the intent to de-virtualize V_pf_mtag_z
(after all, this was my suggestion in the first place), your proposed patch
isn't the valid solution, since on each vnet creation you'll be clobbering
(now global) variable pf_mtag_z, which would imminently cause double-free
or similar issues later during runtime. You should move
pf_mtag_z = uma_zcreate(...)
to some other function which isn't called for each vnet, or at least as a
crude kludge, do this conditionally if (curvnet == vnet0). The same goes
for uma_zdestroy(pf_mtag_z)...
Cheers,
Marko
More information about the freebsd-virtualization
mailing list