All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <dave.hansen@linux.intel.com>
To: Andy Lutomirski <luto@amacapital.net>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>, X86 ML <x86@kernel.org>,
	Borislav Petkov <bp@alien8.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Brian Gerst <brgerst@gmail.com>
Subject: Re: [RFC 09/13] x86/mm: Disable interrupts when flushing the TLB using CR3
Date: Wed, 13 Jan 2016 15:43:37 -0800	[thread overview]
Message-ID: <5696E129.9000804@linux.intel.com> (raw)
In-Reply-To: <CALCETrVT7ePZPAySF45hhnhZ5cBKH0EvDGmxftHvUmZw2YxZjQ@mail.gmail.com>

On 01/13/2016 03:35 PM, Andy Lutomirski wrote:
> Can anyone here ask a hardware or microcode person what's going on
> with CR3 writes possibly being faster than INVPCID?  Is there some
> trick to it?

I just went and measured it myself this morning.  "INVPCID Type 3" (all
contexts no global) on a Skylake system was 15% slower than a CR3 write.

Is that in the same ballpark from what you've observed?


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Dave Hansen <dave.hansen@linux.intel.com>
To: Andy Lutomirski <luto@amacapital.net>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>, X86 ML <x86@kernel.org>,
	Borislav Petkov <bp@alien8.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Brian Gerst <brgerst@gmail.com>
Subject: Re: [RFC 09/13] x86/mm: Disable interrupts when flushing the TLB using CR3
Date: Wed, 13 Jan 2016 15:43:37 -0800	[thread overview]
Message-ID: <5696E129.9000804@linux.intel.com> (raw)
In-Reply-To: <CALCETrVT7ePZPAySF45hhnhZ5cBKH0EvDGmxftHvUmZw2YxZjQ@mail.gmail.com>

On 01/13/2016 03:35 PM, Andy Lutomirski wrote:
> Can anyone here ask a hardware or microcode person what's going on
> with CR3 writes possibly being faster than INVPCID?  Is there some
> trick to it?

I just went and measured it myself this morning.  "INVPCID Type 3" (all
contexts no global) on a Skylake system was 15% slower than a CR3 write.

Is that in the same ballpark from what you've observed?

  reply	other threads:[~2016-01-13 23:43 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-08 23:15 [RFC 00/13] x86/mm: PCID and INVPCID Andy Lutomirski
2016-01-08 23:15 ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 01/13] x86/paravirt: Turn KASAN off for parvirt.o Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-10 18:59   ` Borislav Petkov
2016-01-10 18:59     ` Borislav Petkov
2016-01-11 12:51     ` Andrey Ryabinin
2016-01-11 12:51       ` Andrey Ryabinin
2016-01-11 12:51       ` [PATCH 1/2] x86/kasan: clear kasan_zero_page after TLB flush Andrey Ryabinin
2016-01-11 12:51         ` Andrey Ryabinin
2016-01-18 22:24         ` Andy Lutomirski
2016-01-18 22:24           ` Andy Lutomirski
2016-02-09 16:06         ` [tip:x86/mm] x86/kasan: Clear " tip-bot for Andrey Ryabinin
2016-01-11 12:51       ` [PATCH 2/2] x86/kasan: write protect kasan zero shadow Andrey Ryabinin
2016-01-11 12:51         ` Andrey Ryabinin
2016-01-18 22:24         ` Andy Lutomirski
2016-01-18 22:24           ` Andy Lutomirski
2016-02-09 16:07         ` [tip:x86/mm] x86/kasan: Write " tip-bot for Andrey Ryabinin
2016-01-29 10:35       ` [RFC 01/13] x86/paravirt: Turn KASAN off for parvirt.o Borislav Petkov
2016-01-29 10:35         ` Borislav Petkov
2016-01-08 23:15 ` [RFC 02/13] x86/mm: Add INVPCID helpers Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 03/13] x86/mm: Add a noinvpcid option to turn off INVPCID Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 04/13] x86/mm: If INVPCID is available, use it to flush global mappings Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 05/13] x86/mm: Add barriers and document switch_mm-vs-flush synchronization Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-06-03 17:42   ` Nadav Amit
2016-06-03 17:42     ` Nadav Amit
2016-06-09 17:24     ` Andy Lutomirski
2016-06-09 17:24       ` Andy Lutomirski
2016-06-09 19:45       ` Nadav Amit
2016-06-09 19:45         ` Nadav Amit
2016-09-06  1:22   ` Wanpeng Li
2016-09-06  1:22     ` Wanpeng Li
2016-01-08 23:15 ` [RFC 06/13] x86/mm: Disable PCID on 32-bit kernels Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 07/13] x86/mm: Add nopcid to turn off PCID Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 08/13] x86/mm: Teach CR3 readers about PCID Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 09/13] x86/mm: Disable interrupts when flushing the TLB using CR3 Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:41   ` Linus Torvalds
2016-01-08 23:41     ` Linus Torvalds
2016-01-09  0:18     ` Andy Lutomirski
2016-01-09  0:18       ` Andy Lutomirski
2016-01-09  2:20       ` Linus Torvalds
2016-01-09  2:20         ` Linus Torvalds
2016-01-11 10:51         ` Ingo Molnar
2016-01-11 10:51           ` Ingo Molnar
2016-01-13 23:32           ` Andy Lutomirski
2016-01-13 23:32             ` Andy Lutomirski
2016-01-13 23:35         ` Andy Lutomirski
2016-01-13 23:35           ` Andy Lutomirski
2016-01-13 23:43           ` Dave Hansen [this message]
2016-01-13 23:43             ` Dave Hansen
2016-01-13 23:51             ` Andy Lutomirski
2016-01-13 23:51               ` Andy Lutomirski
2016-01-13 23:56               ` Dave Hansen
2016-01-13 23:56                 ` Dave Hansen
2016-01-14  0:34                 ` Andy Lutomirski
2016-01-14  0:34                   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 10/13] x86/mm: Factor out remote TLB flushing Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 11/13] x86/mm: Build arch/x86/mm/tlb.c even on !SMP Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:55   ` Dave Hansen
2016-01-08 23:55     ` Dave Hansen
2016-01-08 23:15 ` [RFC 12/13] x86/mm: Uninline switch_mm Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-08 23:15 ` [RFC 13/13] x86/mm: Try to preserve old TLB entries using PCID Andy Lutomirski
2016-01-08 23:15   ` Andy Lutomirski
2016-01-09  0:27   ` Dave Hansen
2016-01-09  0:27     ` Dave Hansen
2016-01-09  2:19     ` Andy Lutomirski
2016-01-09  2:19       ` Andy Lutomirski
2016-01-08 23:31 ` [RFC 00/13] x86/mm: PCID and INVPCID Linus Torvalds
2016-01-08 23:31   ` Linus Torvalds
2016-01-08 23:36   ` Andy Lutomirski
2016-01-08 23:36     ` Andy Lutomirski
2016-01-08 23:42     ` Linus Torvalds
2016-01-08 23:42       ` Linus Torvalds

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=5696E129.9000804@linux.intel.com \
    --to=dave.hansen@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=brgerst@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@amacapital.net \
    --cc=oleg@redhat.com \
    --cc=torvalds@linux-foundation.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.