From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Dave Hansen <dave@sr71.net>, Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
linux-s390 <linux-s390@vger.kernel.org>
Subject: Re: [PATCH 00/12] [RFC] x86: Memory Protection Keys
Date: Thu, 07 May 2015 21:22:28 +0200 [thread overview]
Message-ID: <554BBB74.70706@de.ibm.com> (raw)
In-Reply-To: <554BAA68.6000508@sr71.net>
Am 07.05.2015 um 20:09 schrieb Dave Hansen:
> On 05/07/2015 10:57 AM, Ingo Molnar wrote:
>>>> 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.
>> So I'm wondering what the primary usecases are for this feature?
>> Could you outline applications/workloads/libraries that would
>> benefit from this?
>
> There are lots of things that folks would _like_ to mprotect(), but end
> up not being feasible because of the overhead of going and mucking with
> thousands of PTEs and shooting down remote TLBs every time you want to
> change protections.
These protection bits would need to be cached in TLBs as well, no?
So the saving would come by switching the PKRU instead of the page bits.
This all looks like s390 storage keys (with the key in pagetables instead
of a dedicated place). There we also have 16 values for the key and 4 bits
in the PSW that describe the thread local key both are matched.
There is an additional field F (fetch protection) that decides, if the
key value is used for stores or for stores+fetches.
next parent reply other threads:[~2015-05-07 19:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20150507174132.34AF8FAF@viggo.jf.intel.com>
[not found] ` <20150507175707.GA22172@gmail.com>
[not found] ` <554BAA68.6000508@sr71.net>
2015-05-07 19:22 ` Christian Borntraeger [this message]
2015-05-07 19:29 ` [PATCH 00/12] [RFC] x86: Memory Protection Keys Dave Hansen
2015-05-07 19:45 ` Christian Borntraeger
2015-05-07 19:49 ` Dave Hansen
2015-05-07 19:57 ` Christian Borntraeger
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=554BBB74.70706@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=dave@sr71.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mingo@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).