From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Nathan Sullivan <nathan.sullivan@ni.com>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: softirq behavior during a UDP flood
Date: Thu, 14 May 2015 21:32:14 +0200 [thread overview]
Message-ID: <20150514193214.GH13442@linutronix.de> (raw)
In-Reply-To: <20150501150412.GA15483@nathan3500-linux-VM>
* Nathan Sullivan | 2015-05-01 10:04:12 [-0500]:
>Hello all,
>
>We are running 3.14.37-rt on a Xilinx Zynq based board, and have noticed some
>unfortunate behavior with NAPI polling during heavy incoming traffic. Since,
>as I understand it, softirqs are scheduled on the thread that caused them in
>rt, the netowrk RX softirq simply runs over and over on one CPU of the system.
>The network device never re-enables interupts, basically NAPI polling runs
>forever and weight/budget are irrelevant with preempt-rt on.
>
>Since we set IRQ affinity to CPU 0 for everything, this leads to the system
>live-locking and becoming unusable. With full RT preemption off, things are
>fine. In addition, 3.2 kernels with RT are fine as well under heavy net load.
>Is this behavior due to a design tradeoff, or is it a bug?
The rx-napi softirq runs once the threaded handler is done with the
handler. Comparing with vanilla there a little difference: vanilla
repeats the softirq a number of times and has a time budget. Once it
decides that it runs for too long it moves into softirqd. -RT on the
other hand repeats the softirq processing as long as there is work to
do. Since it is done after the thread handler completes it work it is
done at the priority of the threaded handler - so if your -RT task has
a higher priority it won't be disturbed by it.
If you put your shell above the threaded handler of the network handler
(or the handler as SCHED_OTHER) then things should be back to normal.
I'm not sure if moving network (after a while of processing) to ksoftirq
is a good idea because we lose the priority then.
Sebastian
next prev parent reply other threads:[~2015-05-14 19:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-01 15:04 softirq behavior during a UDP flood Nathan Sullivan
2015-05-14 19:32 ` Sebastian Andrzej Siewior [this message]
2015-05-19 7:55 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150514193214.GH13442@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=linux-rt-users@vger.kernel.org \
--cc=nathan.sullivan@ni.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox