All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: "Michal Suchánek" <msuchanek@suse.de>, linuxppc-dev@lists.ozlabs.org
Cc: benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au
Subject: Re: [PATCH V3 08/10] powerpc/mm/hash: Increase VA range to 128TB
Date: Mon, 06 Mar 2017 09:07:48 +0530	[thread overview]
Message-ID: <87y3wjcbxv.fsf@skywalker.in.ibm.com> (raw)
In-Reply-To: <8760jndt6v.fsf@skywalker.in.ibm.com>

"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> writes:

> Michal Such=C3=A1nek <msuchanek@suse.de> writes:
>
>> Hello,
>>
>> On Sun, 19 Feb 2017 15:37:15 +0530
>> "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> wrote:
>>
>>> We update the hash linux page table layout such that we can support
>>> 512TB. But we limit the TASK_SIZE to 128TB. We can switch to 128TB by
>>> default without conditional because that is the max virtual address
>>> supported by other architectures. We will later add a mechanism to
>>> on-demand increase the application's effective address range to 512TB.
>>>=20
>>> Having the page table layout changed to accommodate 512TB  makes
>>> testing large memory configuration easier with less code changes to
>>> kernel
>>>=20
>>> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
>
> ....
>
>> index b64daf124fee..c7ca70dc3ba5 100644
>>> --- a/arch/powerpc/kernel/paca.c
>>> +++ b/arch/powerpc/kernel/paca.c
>>> @@ -253,8 +253,15 @@ void copy_mm_to_paca(struct mm_struct *mm)
>>>  	get_paca()->mm_ctx_id =3D context->id;
>>>  #ifdef CONFIG_PPC_MM_SLICES
>>>  	get_paca()->mm_ctx_low_slices_psize =3D
>>> context->low_slices_psize;
>>> +	/*
>>> +	 * We support upto 128TB for now. Hence copy only 128/2
>>> bytes.
>>> +	 * Later when we support tasks with different max effective
>>> +	 * address, we can optimize this based on mm->task_size.
>>> +	 */
>>> +	BUILD_BUG_ON(TASK_SIZE_USER64 !=3D TASK_SIZE_128TB);
>>
>> Can this be handled by KConfig?
>> Above I see=20
>
> I am reworking the series so that we depend on mm->task_size. Will send
> a new version soon.
>
>
>
>>> +#ifdef CONFIG_PPC_BOOK3S_64
>>> +#define TASK_SIZE_USER64 TASK_SIZE_128TB
>>> +#else
>>> +#define TASK_SIZE_USER64 TASK_SIZE_64TB
>>> +#endif
>> and=20
>>> #ifdef CONFIG_PPC_MM_SLICES
>>> ILD_BUG_ON(TASK_SIZE_USER64 !=3D TASK_SIZE_128TB)
>>
>> which boils down to
>> #ifndef CONFIG_PPC_BOOK3S_64
>> #ifdef CONFIG_PPC_MM_SLICES
>> #error TASK_SIZE_USER64 !=3D TASK_SIZE_128TB
>>
>>
>>>  	memcpy(&get_paca()->mm_ctx_high_slices_psize,
>>> -	       &context->high_slices_psize, SLICE_ARRAY_SIZE);
>>> +	       &context->high_slices_psize, TASK_SIZE_128TB >> 41);
>>
>> Can we avoid magic numbers, please?
>>
>
> Since array is 4 bytes per each TB which is documented else where.

4 bits per teach TB.


-aneesh

  reply	other threads:[~2017-03-06  3:39 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-19 10:07 [PATCH V3 00/10] powerpc/mm/ppc64: Add 128TB support Aneesh Kumar K.V
2017-02-19 10:07 ` [PATCH V3 01/10] powerpc/mm/slice: Convert slice_mask high slice to a bitmap Aneesh Kumar K.V
2017-02-21  4:43   ` Balbir Singh
2017-02-21  6:56     ` Aneesh Kumar K.V
2017-02-22  0:16       ` Balbir Singh
2017-02-19 10:07 ` [PATCH V3 02/10] powerpc/mm/slice: Update the function prototype Aneesh Kumar K.V
2017-02-21  4:44   ` Balbir Singh
2017-02-19 10:07 ` [PATCH V3 03/10] powerpc/mm/hash: Move kernel context to the starting of context range Aneesh Kumar K.V
2017-02-21  4:51   ` Balbir Singh
2017-02-19 10:07 ` [PATCH V3 04/10] powerpc/mm/hash: Support 68 bit VA Aneesh Kumar K.V
2017-02-22  0:15   ` Balbir Singh
2017-02-19 10:07 ` [PATCH V3 05/10] powerpc/mm: Move copy_mm_to_paca to paca.c Aneesh Kumar K.V
2017-02-19 10:07 ` [PATCH V3 06/10] powerpc/mm: Remove redundant TASK_SIZE_USER64 checks Aneesh Kumar K.V
2017-02-22  0:17   ` Balbir Singh
2017-02-19 10:07 ` [PATCH V3 07/10] powerpc/mm/slice: Use mm task_size as max value of slice index Aneesh Kumar K.V
2017-02-19 10:07 ` [PATCH V3 08/10] powerpc/mm/hash: Increase VA range to 128TB Aneesh Kumar K.V
2017-03-03 16:00   ` Michal Suchánek
2017-03-06  2:39     ` Aneesh Kumar K.V
2017-03-06  3:37       ` Aneesh Kumar K.V [this message]
2017-03-06 15:20         ` Michal Suchánek
2017-02-19 10:07 ` [PATCH V3 09/10] powerpc/mm/slice: Move slice_mask struct definition to slice.c Aneesh Kumar K.V
2017-03-03 15:44   ` Michal Suchánek
2017-02-19 10:07 ` [PATCH V3 10/10] powerpc/mm/slice: Update slice mask printing to use bitmap printing Aneesh Kumar K.V
2017-02-22  0:20   ` Balbir Singh

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=87y3wjcbxv.fsf@skywalker.in.ibm.com \
    --to=aneesh.kumar@linux.vnet.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=msuchanek@suse.de \
    --cc=paulus@samba.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.