[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180715230430.GD30102@gmail.com>
Date: Mon, 16 Jul 2018 01:04:30 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Rik van Riel <riel@...riel.com>
Cc: linux-kernel@...r.kernel.org, x86@...nel.org, luto@...nel.org,
dave.hansen@...el.com, kernel-team@...com, efault@....de,
tglx@...utronix.de, songliubraving@...com, hpa@...or.com
Subject: Re: [PATCH 7/7] x86,switch_mm: skip atomic operations for init_mm
* Rik van Riel <riel@...riel.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_prev)));
> + 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.
Thanks,
Ingo
Powered by blists - more mailing lists