Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Apr 2020 02:43:47 -0700
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        =?UTF-8?B?w5Z6a2FuIEtJUklL?= <ozkan.kirik@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, freebsd-ipfw <freebsd-ipfw@freebsd.org>,  "Andrey V. Elsukov" <bu7cher@yandex.ru>
Subject:   Re: dummynet performance
Message-ID:  <CA%2BhQ2%2BiFTwvug9TrRme%2BCY0J%2B29yyPhwNrqqEf2hHTeXPehgAA@mail.gmail.com>
In-Reply-To: <CAAcX-AEamLFbAucFXYJ0k3FePddYC7M-OtQRsTgQ3UWz_z%2BBBA@mail.gmail.com>
References:  <CAAcX-AEamLFbAucFXYJ0k3FePddYC7M-OtQRsTgQ3UWz_z%2BBBA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Apr 9, 2020 at 2:18 AM =C3=96zkan KIRIK <ozkan.kirik@gmail.com> wro=
te:
>
> Hello,
>
> I wonder if it is possible to update dummynet code multi-threading capabl=
e
> practically?
> My idea is below:
> - A new sysctl tunable will be defined as
> "net.inet.ip.dummynet.thread_count" (default 1)
> - To distribute tasks along threads, each sched instance can be assigned =
to
> different thread.
> ...

What are you trying to achieve ? In general, the scheduler needs to
know the state of all flows to perform correct scheduling of traffic.
You could in principle split the load on multiple threads under specific,
very restrictive conditions (each thread runs a different scheduler, they
cannot share the excess bandwidth, and the total bw does not exceed the
link's capacity, each scheduler has a different queue on the NIC).

cheers
luigi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BiFTwvug9TrRme%2BCY0J%2B29yyPhwNrqqEf2hHTeXPehgAA>