Patches really should go to lkml, if you want to bug a user list with them I won't stop you, but please don't hide actual useful content. 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@xxxxxxxxxxxxx> > Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx> > --- > 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. -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html