public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"Yu, Fenghua" <fenghua.yu@intel.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Ingo Molnar <mingo@elte.hu>, H Peter Anvin <hpa@zytor.com>,
	"Siddha, Suresh B" <suresh.b.siddha@intel.com>,
	"Mallick, Asit K" <asit.k.mallick@intel.com>,
	Arjan Dan De Ven <arjan@linux.intel.com>,
	linux-kernel <linux-kernel@vger.kernel.org>, x86 <x86@kernel.org>,
	linux-pm <linux-pm@vger.kernel.org>,
	"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Subject: RE: [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi
Date: Wed, 06 Jun 2012 10:30:12 +0200	[thread overview]
Message-ID: <1338971412.2749.67.camel@twins> (raw)
In-Reply-To: <alpine.LFD.2.02.1206052337300.3086@ionos>

On Wed, 2012-06-06 at 00:09 +0200, Thomas Gleixner wrote:
> > I don't think so. Its perfectly fine to get TLB invalidate IPIs or
> 
> No it's not. It's silly. I've observed the very issue more than once
> and others have done as well. 
> 
> If you have a process which has N threads where each thread is pinned
> to a core. Only one of them is doing file operations, which result in
> mmap/munmap and therefor in TLB shoot down IPIs even if it's ensured
> that the other pinned threads will never ever touch that
> mapping. That's a PITA as the workaround is to use NFS (how
> performant) or split the process into separate processes with shared
> memory to avoid the sane design of a single process where the
> housekeeping thread just writes to disk.
> 
> This is exactly one of the issues where the application has more
> knowlegde than the kernel and there is no way to deal with it.

But simply refusing IPIs just because isn't going to work either.
Suppose the RT thing did touch the memory region.. then you'll end up
with stale TLB entries, those are not fun either.

We simply cannot not send TLB invalidates, me must assume userspace is
malicious - such is the burden of a general purpose kernel.

The only solution here is using multiple processes and shared memory.

  parent reply	other threads:[~2012-06-06  8:30 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-04 18:17 [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Fenghua Yu
2012-06-04 18:17 ` [PATCH 1/6] x86/Documentation/kernel-parameters.txt: Add wakeup_cpu_via_init kernel parameter help Fenghua Yu
2012-06-04 18:17 ` [PATCH 2/6] x86/head_32.S/head_64.S: Kernel entry code after waking up offline CPU via mwait or nmi Fenghua Yu
2012-06-04 18:17 ` [PATCH 3/6] x86/smpboot.c: Wake " Fenghua Yu
2012-06-04 18:58   ` Suresh Siddha
2012-06-04 19:35     ` Yu, Fenghua
2012-06-04 18:17 ` [PATCH 4/6] x86/apic_flat_64.c: Wakeup function in apic calls mwait or nmi method Fenghua Yu
2012-06-04 18:17 ` [PATCH 5/6] x86/x2apic_cluster.c: Wakeup function in x2apic_cluster " Fenghua Yu
2012-06-04 18:17 ` [PATCH 6/6] x86/x2apic_phys.c: Wakeup function in x2apic_phys " Fenghua Yu
2012-06-04 18:17 ` Fenghua Yu
2012-06-04 20:11 ` [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Thomas Gleixner
2012-06-04 20:18   ` Luck, Tony
2012-06-04 22:52     ` Thomas Gleixner
2012-06-04 20:33   ` Peter Zijlstra
2012-06-05  0:40     ` Rusty Russell
2012-06-05  1:23       ` Arjan van de Ven
2012-06-05  7:38         ` Peter Zijlstra
2012-06-05 14:17         ` Alan Stern
2012-06-05 15:27           ` Arjan van de Ven
2012-06-05  7:39       ` Peter Zijlstra
2012-06-05 16:02         ` Yu, Fenghua
2012-06-05 16:09           ` Peter Zijlstra
2012-06-05 16:18             ` Yu, Fenghua
2012-06-05 16:19               ` Peter Zijlstra
2012-06-05 17:44                 ` Luck, Tony
2012-06-05 17:50                   ` Peter Zijlstra
2012-06-05 19:43                     ` Thomas Gleixner
2012-06-05 19:45                       ` Peter Zijlstra
2012-06-05 19:49                       ` Peter Zijlstra
2012-06-05 19:51                         ` Arjan van de Ven
2012-06-05 19:52                           ` Peter Zijlstra
2012-06-05 20:47                         ` Thomas Gleixner
2012-06-05 21:30                           ` Peter Zijlstra
2012-06-05 22:09                             ` Thomas Gleixner
2012-06-06  8:23                               ` Peter Zijlstra
2012-06-06  8:30                               ` Peter Zijlstra [this message]
2012-06-06  8:40                               ` Peter Zijlstra
2012-06-05 22:12                             ` Paul E. McKenney
2012-06-06  8:40                               ` Peter Zijlstra
2012-06-06  8:42                               ` Peter Zijlstra
2012-06-06 14:44                                 ` Paul E. McKenney
2012-06-06 15:46                                   ` Peter Zijlstra
2012-06-06 23:20                                     ` Paul E. McKenney
2012-06-08  9:20                                       ` Peter Zijlstra
2012-06-06  8:43                               ` Peter Zijlstra
2012-06-06 14:41                                 ` Paul E. McKenney
2012-06-06 15:23                                   ` Arjan van de Ven
2012-06-06 15:48                                     ` Peter Zijlstra
2012-06-06 15:49                                     ` Paul E. McKenney
2012-06-06 16:59                                       ` Arjan van de Ven
2012-06-05 21:29                         ` Paul E. McKenney
2012-06-05 21:37                           ` Peter Zijlstra
2012-06-05 22:00                             ` Paul E. McKenney
2012-06-06 12:17                               ` Peter Zijlstra
2012-06-06 14:43                                 ` Paul E. McKenney
2012-06-05 19:51                       ` Peter Zijlstra
2012-06-05 20:58                       ` Andi Kleen
2012-06-05 21:15                         ` Thomas Gleixner
2012-06-05 21:33                           ` Thomas Gleixner
2012-06-05 23:13                             ` Andi Kleen
2012-06-06  1:52                               ` Arjan van de Ven
2012-06-05 18:07                   ` Peter Zijlstra
2012-06-05 19:54                     ` Luck, Tony
2012-06-05 19:56                       ` Peter Zijlstra
2012-06-05  9:36       ` Thomas Gleixner
2012-06-05 13:41         ` [PATCH] kthread: Implement park/unpark facility Thomas Gleixner
2012-06-05 14:01           ` Peter Zijlstra
2012-06-05 14:05           ` Peter Zijlstra
2012-06-07  0:04             ` H. Peter Anvin
2012-06-10  5:40           ` Rusty Russell
2012-06-11  9:26             ` Thomas Gleixner
2012-06-12  0:23               ` Rusty Russell
2012-06-05 15:35   ` [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Jiang Liu

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=1338971412.2749.67.camel@twins \
    --to=peterz@infradead.org \
    --cc=arjan@linux.intel.com \
    --cc=asit.k.mallick@intel.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rusty@rustcorp.com.au \
    --cc=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=suresh.b.siddha@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --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