Re: INFO: rcu detected stall in cleanup_net (4)

From: Vinicius Costa Gomes
Date: Wed Sep 09 2020 - 17:54:42 EST

Hi Jakub,

Jakub Kicinski <kuba@xxxxxxxxxx> writes:

> On Tue, 08 Sep 2020 22:29:21 -0700 syzbot wrote:
>> Hello,
>> syzbot found the following issue on:
>> HEAD commit: 59126901 Merge tag 'perf-tools-fixes-for-v5.9-2020-09-03' ..
>> git tree: upstream
>> console output:
>> kernel config:
>> dashboard link:
>> compiler: gcc (GCC) 10.1.0-syz 20200507
>> syz repro:
>> C reproducer:
>> The issue was bisected to:
>> commit 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22
>> Author: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
>> Date: Sat Sep 29 00:59:43 2018 +0000
>> tc: Add support for configuring the taprio scheduler
> Vinicius, could you please take a look at all the syzbot reports which
> point to your commit? I know syzbot bisection is not super reliable,
> but at least 3 reports point to your commit now, so something's
> probably going on.

I did take a look, and it seems that it all boils down to having too
small (unreasonable?) intervals in the schedule, which causes the
hrtimer handler to starve the other kernel threads.

I have a quick fix to restrict the interval values to more sensible
values (at least equal to the time it takes to transmit the mininum
ethernet frame size), I am testing it and I will propose it soon. But a
proper solution will require more time.