[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210419235503.eo77f6s73a4d25oh@lion.mk-sys.cz>
Date: Tue, 20 Apr 2021 01:55:03 +0200
From: Michal Kubecek <mkubecek@...e.cz>
To: Yunsheng Lin <linyunsheng@...wei.com>
Cc: davem@...emloft.net, kuba@...nel.org, olteanv@...il.com,
ast@...nel.org, daniel@...earbox.net, andriin@...com,
edumazet@...gle.com, weiwan@...gle.com, cong.wang@...edance.com,
ap420073@...il.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, linuxarm@...neuler.org,
mkl@...gutronix.de, linux-can@...r.kernel.org, jhs@...atatu.com,
xiyou.wangcong@...il.com, jiri@...nulli.us, andrii@...nel.org,
kafai@...com, songliubraving@...com, yhs@...com,
john.fastabend@...il.com, kpsingh@...nel.org, bpf@...r.kernel.org,
pabeni@...hat.com, mzhivich@...mai.com, johunt@...mai.com,
albcamus@...il.com, kehuan.feng@...il.com, a.fatoum@...gutronix.de,
atenart@...nel.org, alexander.duyck@...il.com, hdanton@...a.com,
jgross@...e.com, JKosina@...e.com
Subject: Re: [PATCH net v4 1/2] net: sched: fix packet stuck problem for
lockless qdisc
On Mon, Apr 19, 2021 at 05:29:46PM +0200, Michal Kubecek wrote:
>
> As pointed out in the discussion on v3, this patch may result in
> significantly higher CPU consumption with multiple threads competing on
> a saturated outgoing device. I missed this submission so that I haven't
> checked it yet but given the description of v3->v4 changes above, it's
> quite likely that it suffers from the same problem.
And it indeed does. However, with the additional patch from the v3
discussion, the numbers are approximately the same as with an unpatched
mainline kernel.
As with v4, I tried this patch on top of 5.12-rc7 with real devices.
I used two machines with 10Gb/s Intel ixgbe NICs, sender has 16 CPUs
(2 8-core CPUs with HT disabled) and 16 Rx/Tx queues, receiver has
48 CPUs (2 12-core CPUs with HT enabled) and 48 Rx/Tx queues.
threads 5.12-rc7 5.12-rc7 + v4 5.12-rc7 + v4 + stop
1 25.1% 38.1% 22.9%
8 66.2% 277.0% 74.1%
16 90.1% 150.7% 91.0%
32 107.2% 272.6% 108.3%
64 116.3% 487.5% 118.1%
128 126.1% 946.7% 126.9%
(The values are normalized to one core, i.e. 100% corresponds to one
fully used logical CPU.)
So it seems that repeated scheduling while the queue was stopped is
indeed the main performance issue and that other cases of the logic
being too pessimistic do not play significant role. There is an
exception with 8 connections/threads and the result with just this
series also looks abnormally high (e.g. much higher than with
16 threads). It might be worth investigating what happens there and
what do the results with other thread counts around 8 look like.
I'll run some more tests with other traffic patterns tomorrow and
I'm also going to take a closer look at the additional patch.
Michal
Powered by blists - more mailing lists