[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87k0wekyaw.fsf@nanos.tec.linutronix.de>
Date: Mon, 28 Sep 2020 12:09:27 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Peter Zijlstra <peterz@...radead.org>, qianjun.kernel@...il.com
Cc: will@...nel.org, luto@...nel.org, linux-kernel@...r.kernel.org,
laoar.shao@...il.com, qais.yousef@....com, urezki@...il.com,
Frederic Weisbecker <fweisbec@...il.com>
Subject: Re: [PATCH V7 4/4] softirq: Allow early break the softirq processing loop
On Mon, Sep 28 2020 at 11:22, Peter Zijlstra wrote:
> On Tue, Sep 15, 2020 at 07:56:09PM +0800, qianjun.kernel@...il.com wrote:
>> +/*
>> + * The pending_next_bit is recorded for the next processing order when
>> + * the loop is broken. This per cpu variable is to solve the following
>> + * scenarios:
>
> This, that adds all that complexity, and I think it's wrong. The
> softirqs are priority ordered. Running then again from 0 up if/when you
> break seems 'right'.
No. If you break the loop and then restart from 0 you can starve the
higher numbered ones if the next loop terminates on early because one of
the lower one takes too long. Made that happen with networking :)
See the variant I proposed :)
Thanks,
tglx
Powered by blists - more mailing lists