Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 07 Jan 2015 22:32:08 +0100
From:      Nikos Vassiliadis <nvass@gmx.com>
To:        Gleb Smirnoff <glebius@FreeBSD.org>, Craig Rodrigues <rodrigc@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r276747 - head/sys/netpfil/pf
Message-ID:  <54ADA5D8.8050504@gmx.com>
In-Reply-To: <20150107204631.GG15484@FreeBSD.org>
References:  <201501060903.t06934qp081875@svn.freebsd.org> <20150107204631.GG15484@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On 01/07/15 21:46, Gleb Smirnoff wrote:
> On Tue, Jan 06, 2015 at 09:03:04AM +0000, Craig Rodrigues wrote:
> C> Author: rodrigc
> C> Date: Tue Jan  6 09:03:03 2015
> C> New Revision: 276747
> C> URL: https://svnweb.freebsd.org/changeset/base/276747
> C>
> C> Log:
> C>   Instead of creating a purge thread for every vnet, create
> C>   a single purge thread and clean up all vnets from this thread.
> C>
> C>   PR:                     194515
> C>   Differential Revision:  D1315
> C>   Submitted by:           Nikos Vassiliadis <nvass@gmx.com>
>
> I am not sure that this is a good idea. The core idea of VNETs
> is that they are isolated from each other. If we serialize purging,
> then vnets are strongly affecting each other.

That is true.

> AFAIU, from the PR there is some panic fixed. What is the actual bug
> and why couldn't it be fixed with having per-vnet thread?

I don't remember the exact bug, this was written in summer of 2013, but
the code that creates the threads seemed complex. The decision to use
one thread was based on the fact that a lot of resources are used when
a big number (100 let's say) of vnets is active. Purging already runs
10 times a second. Something between those two is better. Maybe,
creating threads up to a certain number and above that map new vnets
to existing threads?

Nikos



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54ADA5D8.8050504>