[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1516726652.2554.58.camel@redhat.com>
Date: Tue, 23 Jan 2018 17:57:32 +0100
From: Paolo Abeni <pabeni@...hat.com>
To: David Miller <davem@...emloft.net>
Cc: frederic@...nel.org, linux-kernel@...r.kernel.org,
alexander.levin@...izon.com, peterz@...radead.org,
mchehab@...pensource.com, torvalds@...ux-foundation.org,
hannes@...essinduktion.org, paulmck@...ux.vnet.ibm.com,
wanpeng.li@...mail.com, dima@...sta.com, tglx@...utronix.de,
akpm@...ux-foundation.org, rrendec@...sta.com, mingo@...nel.org,
sgruszka@...hat.com, riel@...hat.com, edumazet@...gle.com
Subject: Re: [RFC PATCH 0/4] softirq: Per vector threading v3
On Tue, 2018-01-23 at 11:22 -0500, David Miller wrote:
> From: Paolo Abeni <pabeni@...hat.com>
> Date: Tue, 23 Jan 2018 11:13:52 +0100
>
> > Hi,
> >
> > On Fri, 2018-01-19 at 16:46 +0100, Frederic Weisbecker wrote:
> >> As per Linus suggestion, this take doesn't limit the number of occurences
> >> per jiffy anymore but instead defers a vector to workqueues as soon as
> >> it gets re-enqueued on IRQ tail.
> >>
> >> No tunable here, so testing should be easier.
> >>
> >> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> >> softirq/thread-v3
> >>
> >> HEAD: 6835e92cbd70ef4a056987d2e1ed383b294429d4
> >
> > I tested this series in the UDP flood scenario, binding the user space
> > process receiving the packets on the same CPU processing the related
> > IRQ, and the tput sinks nearly to 0, like before Eric's patch.
> >
> > The perf tool says that almost all the softirq processing is done
> > inside the workqueue, but the user space process is scheduled very
> > rarely, while before this series, in this scenario, ksoftirqd and the
> > user space process got a fair share of the CPU time.
>
> Do workqueue threads get a higher scheduling priority than user
> processes?
As far as I can see, no: the workqueue thread has the same priority and
nice level than the user space process.
> Or is it that the workqueue execution is simply not yielding for some
> reason?
It's like that.
I spent little time on it, so I haven't many data point. I'll try to
investigate the scenario later this week.
Cheers,
Paolo
Powered by blists - more mailing lists