linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Kegl Rohit <keglrohit@gmail.com>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: rcu stall caused by rt task with high minor page fault rate
Date: Fri, 18 Aug 2023 11:42:49 +0200	[thread overview]
Message-ID: <20230818094249.ZH2yxSBA@linutronix.de> (raw)
In-Reply-To: <CAMeyCbgGgxpF5Nk=dZXEBS92VxUBR_OcRQqdQdEJAAzqcbP+fQ@mail.gmail.com>

On 2023-05-30 12:51:48 [+0200], Kegl Rohit wrote:
> Hello!
Hi,

> But for my understanding RCU_BOOST should help here, even if the rt
> app is not implemented correctly?

RCU_BOOST will help to move a task outside of its rcu_read() section if
it got preempted there. Otherwise the RCU machine can't make progress
and free after a grace period. If a task with low priority is stuck in
such a section, then RCU_BOOST will help to move it out. This requires
that the high-priority task gets into a RCU section for it work (usually
not a problem but wouldn't happen if a task loops 100% in userland).

From you describe, your RCU warning came probably from the fact that
your application is consuming 100% of the CPU. Your RT task needs to
rest from to time so that other kernel threads get their turn.

By enabling callback offloading and moving that RCU thread another CPU
you ensure that the completion callbacks get invoked.
Then you need to ensure that RCU can assure that it makes progress. This
is probably what triggers here. There is another thread for that but
this one can only be offloaded with CONFIG_NOHZ_FULL.

> Thanks in advance!

Sebastian

      reply	other threads:[~2023-08-18  9:43 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-30 10:51 rcu stall caused by rt task with high minor page fault rate Kegl Rohit
2023-08-18  9:42 ` Sebastian Andrzej Siewior [this message]

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=20230818094249.ZH2yxSBA@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=keglrohit@gmail.com \
    --cc=linux-rt-users@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).