Re: Performance issues with vnet jails + epair + bridge

Paul Procacci <[email protected]>
Newsgroups gmane.os.freebsd.devel.net
Message-ID <CAFbbPujAEer3aO7VcZ1CtgUUCHsG9eXfn_4s6SJok83GFW4JPA@mail.gmail.com>
On Thu, Sep 12, 2024 at 1:16 PM Sad Clouds <[email protected]>
wrote:

> Hi, I'm using FreeBSD-14.1 and on this particular system I only have a
> single physical network interface, so I followed instructions for
> networking vnet jails via epair and bridge, e.g.
>
> devel
> {
>         vnet;
>         vnet.interface = "e0b_devel";
>         exec.prestart += "/jails/jib addm devel genet0";
>         exec.poststop += "/jails/jib destroy devel";
> }
>
> The issue is bulk TCP performance throughput between this jail and the
> host is quite poor, with one CPU spinning 100% in kernel and others
> sitting mostly idle.
>
> It seems there is some lock contention somewhere, but I'm not sure if
> this is around vnet, epair or bridge subsystems. Are there
> other alternatives for vnet jails? Can anyone recommend specific
> deployment scenarios? I've seen references to netgraph which could be
> used with jails. Does it have better performance and scalability and
> could replace epair and bridge combination?
>
> Thanks.
>
>

You need to define `poor'.
You need to show `top -SH` while the `problem' occurs.

My guess is packets are getting shuttled between a global taskqueue thread.
This is the default, or at least I'm not aware of this default being
changed.
You can try enabling `options RSS' in your kernel as this would introduce a
taskqueue worker thread per cpu.

~Paul

-- 
__________________

:(){ :|:& };:
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.