[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <tip-591b1d8d86074ac3a3163d89bcfe7b232cf83902@git.kernel.org>
Date: Tue, 29 Mar 2016 02:24:40 -0700
From: tip-bot for Dave Hansen <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: brgerst@...il.com, dave.hansen@...ux.intel.com,
stefanr@...6.in-berlin.de, mingo@...nel.org, dvlasenk@...hat.com,
tglx@...utronix.de, peterz@...radead.org, bp@...en8.de,
torvalds@...ux-foundation.org, linux-kernel@...r.kernel.org,
dave@...1.net, hpa@...or.com, luto@...capital.net
Subject: [tip:x86/urgent] x86/mm/pkeys: Add missing Documentation
Commit-ID: 591b1d8d86074ac3a3163d89bcfe7b232cf83902
Gitweb: http://git.kernel.org/tip/591b1d8d86074ac3a3163d89bcfe7b232cf83902
Author: Dave Hansen <dave.hansen@...ux.intel.com>
AuthorDate: Mon, 14 Dec 2015 11:06:34 -0800
Committer: Ingo Molnar <mingo@...nel.org>
CommitDate: Tue, 29 Mar 2016 11:21:17 +0200
x86/mm/pkeys: Add missing Documentation
Stefan Richter noticed that the X86_INTEL_MEMORY_PROTECTION_KEYS option
in arch/x86/Kconfig references Documentation/x86/protection-keys.txt,
but the file does not exist.
This is a patch merging mishap: the final (v8) version of the pkeys
series did not include the documentation patch 32 and v7 included.
Add it now.
Reported-by: Stefan Richter <stefanr@...6.in-berlin.de>
Signed-off-by: Dave Hansen <dave.hansen@...ux.intel.com>
Cc: Andy Lutomirski <luto@...capital.net>
Cc: Borislav Petkov <bp@...en8.de>
Cc: Brian Gerst <brgerst@...il.com>
Cc: Dave Hansen <dave@...1.net>
Cc: Denys Vlasenko <dvlasenk@...hat.com>
Cc: H. Peter Anvin <hpa@...or.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: linux-mm@...ck.org
Link: http://lkml.kernel.org/r/20151214190634.426BEE41@viggo.jf.intel.com
[ Added changelog. ]
Signed-off-by: Ingo Molnar <mingo@...nel.org>
Signed-off-by: Ingo Molnar <mingo@...nel.org>
---
Documentation/x86/protection-keys.txt | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/Documentation/x86/protection-keys.txt b/Documentation/x86/protection-keys.txt
new file mode 100644
index 0000000..c281ded
--- /dev/null
+++ b/Documentation/x86/protection-keys.txt
@@ -0,0 +1,27 @@
+Memory Protection Keys for Userspace (PKU aka PKEYs) is a CPU feature
+which will be found on future Intel CPUs.
+
+Memory Protection Keys provides a mechanism for enforcing page-based
+protections, but without requiring modification of the page tables
+when an application changes protection domains. It works by
+dedicating 4 previously ignored bits in each page table entry to a
+"protection key", giving 16 possible keys.
+
+There is also a new user-accessible register (PKRU) with two separate
+bits (Access Disable and Write Disable) for each key. Being a CPU
+register, PKRU is inherently thread-local, potentially giving each
+thread a different set of protections from every other thread.
+
+There are two new instructions (RDPKRU/WRPKRU) for reading and writing
+to the new register. The feature is only available in 64-bit mode,
+even though there is theoretically space in the PAE PTEs. These
+permissions are enforced on data access only and have no effect on
+instruction fetches.
+
+=========================== Config Option ===========================
+
+This config option adds approximately 1.5kb of text. and 50 bytes of
+data to the executable. A workload which does large O_DIRECT reads
+of holes in XFS files was run to exercise get_user_pages_fast(). No
+performance delta was observed with the config option
+enabled or disabled.
Powered by blists - more mailing lists