mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Peter Zijlstra <peterz@infradead.org>, x86@kernel.org
Cc: John Ogness <john.ogness@linutronix.de>,
	linux-rt-users <linux-rt-users@vger.kernel.org>,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] x86/mm/cpa: avoid wbinvd() for PREEMPT_RT_FULL
Date: Wed, 25 Jan 2017 17:12:17 +0100	[thread overview]
Message-ID: <20170125161217.k6h5weu34i2knl3f@linutronix.de> (raw)
In-Reply-To: <20170121141915.GT6485@twins.programming.kicks-ass.net>

On 2017-01-21 15:19:15 [+0100], Peter Zijlstra wrote:
> On Fri, Jan 20, 2017 at 11:42:57PM +0100, John Ogness wrote:
> > Although wbinvd() is faster than flushing many individual pages, it
> > blocks the memory bus for "long" periods of time (>100us), thus
> > directly causing unusually large latencies for PREEMPT_RT_FULL. For
> > 1024 pages, flushing those pages individually can take up to 2200us,
> > but the task remains fully preemptible during that time.
> > 
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> > Signed-off-by: John Ogness <john.ogness@linutronix.de>
> > ---
> >  arch/x86/mm/pageattr.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
> > index e3353c9..a182477 100644
> > --- a/arch/x86/mm/pageattr.c
> > +++ b/arch/x86/mm/pageattr.c
> > @@ -214,7 +214,12 @@ static void cpa_flush_array(unsigned long *start, int numpages, int cache,
> >  			    int in_flags, struct page **pages)
> >  {
> >  	unsigned int i, level;
> > +#ifdef CONFIG_PREEMPT_RT_FULL
> > +	/* wbinvd() causes ugly latencies, avoid it */
> > +	unsigned long do_wbinvd = 0;
> 
> Arguably we should do the same for CONFIG_PREEMPT and possibly even
> always, esp. when considering CAT.

So you want to see this patch again with CONFIG_PREEMPT instead of
CONFIG_PREEMPT_RT_FULL and also targeting lkml?
I don't get quite the link between wbindv and CAT (assuming it stands
for Intel's Cache Allocation support). But if you want unconditionally
want to drop that wbinvd because it is bad for another !RT usecase, fine
by me :)
Any preferences from the x86 folks?

Sebastian

       reply	other threads:[~2017-01-25 16:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87o9z1ic9a.fsf@linutronix.de>
     [not found] ` <20170121141915.GT6485@twins.programming.kicks-ass.net>
2017-01-25 16:12   ` Sebastian Andrzej Siewior [this message]
2017-01-25 16:24     ` Peter Zijlstra
2017-01-25 17:07       ` Sebastian Andrzej Siewior

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=20170125161217.k6h5weu34i2knl3f@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=john.ogness@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=x86@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

all inboxes | Powered by JetHome®