From: "Michal Suchánek" <msuchanek@suse.de>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org, 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, 6 Mar 2017 16:20:14 +0100 [thread overview]
Message-ID: <20170306162014.66f4ee2f@kitsune.suse.cz> (raw)
In-Reply-To: <87y3wjcbxv.fsf@skywalker.in.ibm.com>
On Mon, 06 Mar 2017 09:07:48 +0530
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> wrote:
> "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> writes:
>=20
> > Michal Such=C3=A1nek <msuchanek@suse.de> writes:
> > =20
> >> Hello,
> >>
> >> On Sun, 19 Feb 2017 15:37:15 +0530
> >> "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> wrote:
> >> =20
> >>> 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> =20
> >
> > ....
> > =20
> >> index b64daf124fee..c7ca70dc3ba5 100644 =20
> >>> --- 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); =20
> >>
> >> 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.
> >
> >
> > =20
> >>> +#ifdef CONFIG_PPC_BOOK3S_64
> >>> +#define TASK_SIZE_USER64 TASK_SIZE_128TB
> >>> +#else
> >>> +#define TASK_SIZE_USER64 TASK_SIZE_64TB
> >>> +#endif =20
> >> and =20
> >>> #ifdef CONFIG_PPC_MM_SLICES
> >>> ILD_BUG_ON(TASK_SIZE_USER64 !=3D TASK_SIZE_128TB) =20
> >>
> >> which boils down to
> >> #ifndef CONFIG_PPC_BOOK3S_64
> >> #ifdef CONFIG_PPC_MM_SLICES
> >> #error TASK_SIZE_USER64 !=3D TASK_SIZE_128TB
> >>
> >> =20
> >>> memcpy(&get_paca()->mm_ctx_high_slices_psize,
> >>> - &context->high_slices_psize, SLICE_ARRAY_SIZE);
> >>> + &context->high_slices_psize, TASK_SIZE_128TB >>
> >>> 41); =20
> >>
> >> Can we avoid magic numbers, please?
> >> =20
> >
> > Since array is 4 bytes per each TB which is documented else where. =20
>=20
> 4 bits per teach TB.
>=20
It is certainly nicer to have a macro for it. You can then see what the
number is from the macro name or grep it and find the definition and
the explanation.
Thanks
Michal
next prev parent reply other threads:[~2017-03-06 15:20 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
2017-03-06 15:20 ` Michal Suchánek [this message]
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=20170306162014.66f4ee2f@kitsune.suse.cz \
--to=msuchanek@suse.de \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--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 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).