lkml.org 
[lkml]   [2018]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 7/7] x86,switch_mm: skip atomic operations for init_mm

* Rik van Riel <riel@surriel.com> wrote:

> On Mon, 2018-07-16 at 01:04 +0200, Ingo Molnar wrote:
> > * Rik van Riel <riel@surriel.com> wrote:
> >
> > > + /*
> > > + * Stop remote flushes for the previous mm.
> > > + * Skip the idle task; we never send init_mm TLB
> > > flushing IPIs,
> > > + * but the bitmap manipulation can cause cache
> > > line contention.
> > > + */
> > > + if (real_prev != &init_mm) {
> > > + VM_WARN_ON_ONCE(!cpumask_test_cpu(cpu,
> > > + mm_cpumask(real_pr
> > > ev)));
> > > + cpumask_clear_cpu(cpu,
> > > mm_cpumask(real_prev));
> >
> > BTW., could this optimization be (safely) extended to all (or most)
> > !task->mm
> > kernel threads?
> >
> > In particular softirq and threaded irq handlers could benefit greatly
> > I suspect in
> > certain networking intense workloads that happen to active them.
>
> Yes, it could.
>
> Are there kernel threads that use something other than
> init_mm today?

Yeah, I think that's the typical case - so at minimum the comment should be fixed:

> > > + * Skip the idle task; we never send init_mm TLB flushing IPIs,

and it should say 'skip kernel threads', right?

Thanks,

Ingo

\
 
 \ /
  Last update: 2018-07-16 03:05    [W:0.140 / U:0.568 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site