linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: "Koehrer Mathias (ETAS/ESS2)" <mathias.koehrer@etas.com>,
	"linux-rt-users@vger.kernel.org" <linux-rt-users@vger.kernel.org>
Subject: Re: CONFIG_NO_HZ_FULL in x86 (32bit)?
Date: Fri, 11 Oct 2013 15:58:40 +0200	[thread overview]
Message-ID: <20131011135838.GA14694@localhost.localdomain> (raw)
In-Reply-To: <20131011123249.GG6983@linutronix.de>

On Fri, Oct 11, 2013 at 02:32:49PM +0200, Sebastian Andrzej Siewior wrote:
> * Koehrer Mathias (ETAS/ESS2) | 2013-10-11 08:32:50 [+0000]:
> 
> >Hi all,
> Hi Mathias,
> 
> >I found out that with the RT_PREEMPT patch for kernel 3.10 there is the cool feature rcu_nocbs (offload RCU callback processing) available which allows to free cores to run single real time user space applications on it.
> >This feature depends on CONFIG_NO_HZ_FULL, however this is not available for x86 (32 bit).
> >My question is now: Is there a way to get the rcu_nocbs running together with NO_HZ_FULL on a 32bit x86?
> 
> I *think* this is because VIRT_CPU_ACCOUNTING_GEN accounts everything in
> nsec instead of jiffies and this could be very expensive on 32bit archs
> doing 64bit math.
> Frederic, is this everything or is there more to it?

So there are two things required for NO_HZ_FULL support on an arch (as of current
tip:master tree):

* Support CONFIG_CONTEXT_TRACKING. Namely this is about setting hooks on user/kernel
boundaries: syscall and exceptions (irq are automatically handled).

On x86-32 there should be few work to do to enable that. In fact it might already work as is
because x86-64 support is there and they mostly share the same functions, syscall slow path
and exception handler.

* Support CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN. This only requires a bit of audit to make
sure that cputime_t as 64 bits is not racy on the arch code. This config is quite unusual as
it doesn't involve any functional ability, it's just about checking that the arch doesn't do
things with tsk->[usg]time that are unsafe between writer/readers in 32 bits.
This should be fine in x86-32.

One of you want to enable that support? I'll happily review the patches.

Thanks.

> 
> >Thanks for any feedback
> >
> >Best regards
> >
> >Mathias
> 
> Sebastian

      reply	other threads:[~2013-10-11 13:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-11  8:32 CONFIG_NO_HZ_FULL in x86 (32bit)? Koehrer Mathias (ETAS/ESS2)
2013-10-11 12:32 ` Sebastian Andrzej Siewior
2013-10-11 13:58   ` Frederic Weisbecker [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=20131011135838.GA14694@localhost.localdomain \
    --to=fweisbec@gmail.com \
    --cc=bigeasy@linutronix.de \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=mathias.koehrer@etas.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;
as well as URLs for NNTP newsgroup(s).