All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <dave.hansen@intel.com>
To: Ram Pai <linuxram@us.ibm.com>,
	shuahkh@osg.samsung.com, linux-kselftest@vger.kernel.org
Cc: mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,
	linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	mingo@redhat.com, akpm@linux-foundation.org,
	benh@kernel.crashing.org, paulus@samba.org,
	khandual@linux.vnet.ibm.com, aneesh.kumar@linux.vnet.ibm.com,
	bsingharora@gmail.com, hbabu@us.ibm.com, mhocko@kernel.org,
	bauerman@linux.vnet.ibm.com, ebiederm@xmission.com,
	arnd@arndb.de
Subject: Re: [PATCH v12 05/22] selftests/vm: generic function to handle shadow key register
Date: Fri, 16 Mar 2018 15:05:19 -0700	[thread overview]
Message-ID: <92951c0a-0468-6d3c-efef-2d9da53fd10f@intel.com> (raw)
In-Reply-To: <1519264541-7621-6-git-send-email-linuxram@us.ibm.com>

On 02/21/2018 05:55 PM, Ram Pai wrote:
> +static inline u32 pkey_to_shift(int pkey)
> +{
> +	return pkey * PKEY_BITS_PER_PKEY;
> +}

pkey_bit_position(), perhaps?

> +static inline pkey_reg_t reset_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return ~(bits << shift);
> +}

I'd prefer clear_pkey_flags() or maybe clear_pkey_bits().  "reset" can
mean "reset to 0" or "reset to 1".

Also, why the u32 here?  Isn't an int more appropriate?

> +static inline pkey_reg_t left_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits << shift);
> +}
> +
> +static inline pkey_reg_t right_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits >> shift);
> +}

Some comments on these would be handy.  Basically that this takes a
per-key flags value and puts it at the right position so it can be
shoved in the register.

WARNING: multiple messages have this Message-ID (diff)
From: Dave Hansen <dave.hansen@intel.com>
To: Ram Pai <linuxram@us.ibm.com>,
	shuahkh@osg.samsung.com, linux-kselftest@vger.kernel.org
Cc: mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,
	linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	mingo@redhat.com, akpm@linux-foundation.org,
	benh@kernel.crashing.org, paulus@samba.org,
	khandual@linux.vnet.ibm.com, aneesh.kumar@linux.vnet.ibm.com,
	bsingharora@gmail.com, hbabu@us.ibm.com, mhocko@kernel.org,
	bauerman@linux.vnet.ibm.com, ebiederm@xmission.com,
	arnd@arndb.de
Subject: Re: [PATCH v12 05/22] selftests/vm: generic function to handle shadow key register
Date: Fri, 16 Mar 2018 15:05:19 -0700	[thread overview]
Message-ID: <92951c0a-0468-6d3c-efef-2d9da53fd10f@intel.com> (raw)
In-Reply-To: <1519264541-7621-6-git-send-email-linuxram@us.ibm.com>

On 02/21/2018 05:55 PM, Ram Pai wrote:
> +static inline u32 pkey_to_shift(int pkey)
> +{
> +	return pkey * PKEY_BITS_PER_PKEY;
> +}

pkey_bit_position(), perhaps?

> +static inline pkey_reg_t reset_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return ~(bits << shift);
> +}

I'd prefer clear_pkey_flags() or maybe clear_pkey_bits().  "reset" can
mean "reset to 0" or "reset to 1".

Also, why the u32 here?  Isn't an int more appropriate?

> +static inline pkey_reg_t left_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits << shift);
> +}
> +
> +static inline pkey_reg_t right_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits >> shift);
> +}

Some comments on these would be handy.  Basically that this takes a
per-key flags value and puts it at the right position so it can be
shoved in the register.
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: dave.hansen at intel.com (Dave Hansen)
Subject: [PATCH v12 05/22] selftests/vm: generic function to handle shadow key register
Date: Fri, 16 Mar 2018 15:05:19 -0700	[thread overview]
Message-ID: <92951c0a-0468-6d3c-efef-2d9da53fd10f@intel.com> (raw)
In-Reply-To: <1519264541-7621-6-git-send-email-linuxram@us.ibm.com>

On 02/21/2018 05:55 PM, Ram Pai wrote:
> +static inline u32 pkey_to_shift(int pkey)
> +{
> +	return pkey * PKEY_BITS_PER_PKEY;
> +}

pkey_bit_position(), perhaps?

> +static inline pkey_reg_t reset_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return ~(bits << shift);
> +}

I'd prefer clear_pkey_flags() or maybe clear_pkey_bits().  "reset" can
mean "reset to 0" or "reset to 1".

Also, why the u32 here?  Isn't an int more appropriate?

> +static inline pkey_reg_t left_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits << shift);
> +}
> +
> +static inline pkey_reg_t right_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits >> shift);
> +}

Some comments on these would be handy.  Basically that this takes a
per-key flags value and puts it at the right position so it can be
shoved in the register.
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: dave.hansen@intel.com (Dave Hansen)
Subject: [PATCH v12 05/22] selftests/vm: generic function to handle shadow key register
Date: Fri, 16 Mar 2018 15:05:19 -0700	[thread overview]
Message-ID: <92951c0a-0468-6d3c-efef-2d9da53fd10f@intel.com> (raw)
Message-ID: <20180316220519.LwGqN19IO8m7QbeJi0ZiREFWKrMP-A0bEi3cD-Wyxwk@z> (raw)
In-Reply-To: <1519264541-7621-6-git-send-email-linuxram@us.ibm.com>

On 02/21/2018 05:55 PM, Ram Pai wrote:
> +static inline u32 pkey_to_shift(int pkey)
> +{
> +	return pkey * PKEY_BITS_PER_PKEY;
> +}

pkey_bit_position(), perhaps?

> +static inline pkey_reg_t reset_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return ~(bits << shift);
> +}

I'd prefer clear_pkey_flags() or maybe clear_pkey_bits().  "reset" can
mean "reset to 0" or "reset to 1".

Also, why the u32 here?  Isn't an int more appropriate?

> +static inline pkey_reg_t left_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits << shift);
> +}
> +
> +static inline pkey_reg_t right_shift_bits(int pkey, pkey_reg_t bits)
> +{
> +	u32 shift = pkey_to_shift(pkey);
> +
> +	return (bits >> shift);
> +}

Some comments on these would be handy.  Basically that this takes a
per-key flags value and puts it at the right position so it can be
shoved in the register.
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2018-03-16 22:05 UTC|newest]

Thread overview: 220+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-22  1:55 [PATCH v12 00/22] selftests, powerpc, x86 : Memory Protection Keys Ram Pai
2018-02-22  1:55 ` Ram Pai
2018-02-22  1:55 ` Ram Pai
2018-02-22  1:55 ` Ram Pai
2018-02-22  1:55 ` linuxram
2018-02-22  1:55 ` [PATCH v12 01/22] selftests/x86: Move protecton key selftest to arch neutral directory Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-02-22  5:51   ` Ingo Molnar
2018-02-22  5:51     ` Ingo Molnar
2018-02-22  5:51     ` Ingo Molnar
2018-02-22  5:51     ` Ingo Molnar
2018-02-22  5:51     ` mingo
2018-02-22  1:55 ` [PATCH v12 02/22] selftests/vm: rename all references to pkru to a generic name Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 21:55   ` Dave Hansen
2018-03-16 21:55     ` Dave Hansen
2018-03-16 21:55     ` dave.hansen
2018-03-16 21:55     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 03/22] selftests/vm: move generic definitions to header file Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-02-22  1:55 ` [PATCH v12 04/22] selftests/vm: typecast the pkey register Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 21:58   ` Dave Hansen
2018-03-16 21:58     ` Dave Hansen
2018-03-16 21:58     ` dave.hansen
2018-03-16 21:58     ` Dave Hansen
2018-03-26 19:38     ` Thiago Jung Bauermann
2018-03-26 19:38       ` Thiago Jung Bauermann
2018-03-26 19:38       ` bauerman
2018-03-26 19:38       ` Thiago Jung Bauermann
2018-02-22  1:55 ` [PATCH v12 05/22] selftests/vm: generic function to handle shadow key register Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:05   ` Dave Hansen [this message]
2018-03-16 22:05     ` Dave Hansen
2018-03-16 22:05     ` dave.hansen
2018-03-16 22:05     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 06/22] selftests/vm: fix the wrong assert in pkey_disable_set() Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:06   ` Dave Hansen
2018-03-16 22:06     ` Dave Hansen
2018-03-16 22:06     ` dave.hansen
2018-03-16 22:06     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 07/22] selftests/vm: fixed bugs in pkey_disable_clear() Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:08   ` Dave Hansen
2018-03-16 22:08     ` Dave Hansen
2018-03-16 22:08     ` dave.hansen
2018-03-16 22:08     ` Dave Hansen
2018-03-28 20:47     ` Thiago Jung Bauermann
2018-03-28 20:47       ` Thiago Jung Bauermann
2018-03-28 20:47       ` bauerman
2018-03-28 20:47       ` Thiago Jung Bauermann
2018-03-28 20:55       ` Dave Hansen
2018-03-28 20:55         ` Dave Hansen
2018-03-28 20:55         ` dave.hansen
2018-03-28 20:55         ` Dave Hansen
2018-03-28 23:51         ` Thiago Jung Bauermann
2018-03-28 23:51           ` Thiago Jung Bauermann
2018-03-28 23:51           ` bauerman
2018-03-28 23:51           ` Thiago Jung Bauermann
2018-02-22  1:55 ` [PATCH v12 08/22] selftests/vm: clear the bits in shadow reg when a pkey is freed Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:10   ` Dave Hansen
2018-03-16 22:10     ` Dave Hansen
2018-03-16 22:10     ` dave.hansen
2018-03-16 22:10     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 09/22] selftests/vm: fix alloc_random_pkey() to make it really random Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:13   ` Dave Hansen
2018-03-16 22:13     ` Dave Hansen
2018-03-16 22:13     ` dave.hansen
2018-03-16 22:13     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 10/22] selftests/vm: introduce two arch independent abstraction Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:15   ` Dave Hansen
2018-03-16 22:15     ` Dave Hansen
2018-03-16 22:15     ` dave.hansen
2018-03-16 22:15     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 11/22] selftests/vm: pkey register should match shadow pkey Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:19   ` Dave Hansen
2018-03-16 22:19     ` Dave Hansen
2018-03-16 22:19     ` dave.hansen
2018-03-16 22:19     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 12/22] selftests/vm: generic cleanup Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:22   ` Dave Hansen
2018-03-16 22:22     ` Dave Hansen
2018-03-16 22:22     ` dave.hansen
2018-03-16 22:22     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 13/22] selftests/vm: powerpc implementation for generic abstraction Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:23   ` Dave Hansen
2018-03-16 22:23     ` Dave Hansen
2018-03-16 22:23     ` dave.hansen
2018-03-16 22:23     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 14/22] selftests/vm: clear the bits in shadow reg when a pkey is freed Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:24   ` Dave Hansen
2018-03-16 22:24     ` Dave Hansen
2018-03-16 22:24     ` dave.hansen
2018-03-16 22:24     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 15/22] selftests/vm: powerpc implementation to check support for pkey Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:26   ` Dave Hansen
2018-03-16 22:26     ` Dave Hansen
2018-03-16 22:26     ` dave.hansen
2018-03-16 22:26     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 16/22] selftests/vm: fix an assertion in test_pkey_alloc_exhaust() Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:28   ` Dave Hansen
2018-03-16 22:28     ` Dave Hansen
2018-03-16 22:28     ` dave.hansen
2018-03-16 22:28     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 17/22] selftests/vm: associate key on a mapped page and detect access violation Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:30   ` Dave Hansen
2018-03-16 22:30     ` Dave Hansen
2018-03-16 22:30     ` dave.hansen
2018-03-16 22:30     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 18/22] selftests/vm: associate key on a mapped page and detect write violation Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:30   ` Dave Hansen
2018-03-16 22:30     ` Dave Hansen
2018-03-16 22:30     ` dave.hansen
2018-03-16 22:30     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 19/22] selftests/vm: detect write violation on a mapped access-denied-key page Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:31   ` Dave Hansen
2018-03-16 22:31     ` Dave Hansen
2018-03-16 22:31     ` dave.hansen
2018-03-16 22:31     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 20/22] selftests/vm: testcases must restore pkey-permissions Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:32   ` Dave Hansen
2018-03-16 22:32     ` Dave Hansen
2018-03-16 22:32     ` dave.hansen
2018-03-16 22:32     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 21/22] selftests/vm: sub-page allocator Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-03-16 22:33   ` Dave Hansen
2018-03-16 22:33     ` Dave Hansen
2018-03-16 22:33     ` dave.hansen
2018-03-16 22:33     ` Dave Hansen
2018-02-22  1:55 ` [PATCH v12 22/22] selftests/vm: Fix deadlock in protection_keys.c Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` Ram Pai
2018-02-22  1:55   ` linuxram
2018-02-25 23:19   ` Balbir Singh
2018-02-25 23:19     ` Balbir Singh
2018-02-25 23:19     ` Balbir Singh
2018-02-25 23:19     ` bsingharora
2018-03-16 22:34   ` Dave Hansen
2018-03-16 22:34     ` Dave Hansen
2018-03-16 22:34     ` dave.hansen
2018-03-16 22:34     ` Dave Hansen

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=92951c0a-0468-6d3c-efef-2d9da53fd10f@intel.com \
    --to=dave.hansen@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=arnd@arndb.de \
    --cc=bauerman@linux.vnet.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=bsingharora@gmail.com \
    --cc=ebiederm@xmission.com \
    --cc=hbabu@us.ibm.com \
    --cc=khandual@linux.vnet.ibm.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=linuxram@us.ibm.com \
    --cc=mhocko@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=shuahkh@osg.samsung.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 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.