Message ID | 20180226140826.11641-5-aneesh.kumar@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for 4PB virtual address space on hash | expand |
On 02/26/2018 11:08 AM, Aneesh Kumar K.V wrote: > --- > arch/powerpc/include/asm/book3s/64/hash-64k.h | 2 +- > arch/powerpc/include/asm/processor.h | 9 ++++++++- > arch/powerpc/mm/init_64.c | 6 ------ > arch/powerpc/mm/pgtable_64.c | 5 ----- > 4 files changed, 9 insertions(+), 13 deletions(-) Hi, Aneesh. This patch is missing Signed-off-by: line. You're encouraged to run checkpatch.pl to inspect your patches. You may also want to add a brief paragraph in the commit message explaining the "why" of this change. Cheers Murilo
Murilo Opsfelder Araujo <muriloo@linux.vnet.ibm.com> writes: > On 02/26/2018 11:08 AM, Aneesh Kumar K.V wrote: >> --- >> arch/powerpc/include/asm/book3s/64/hash-64k.h | 2 +- >> arch/powerpc/include/asm/processor.h | 9 ++++++++- >> arch/powerpc/mm/init_64.c | 6 ------ >> arch/powerpc/mm/pgtable_64.c | 5 ----- >> 4 files changed, 9 insertions(+), 13 deletions(-) > > Hi, Aneesh. > > This patch is missing Signed-off-by: line. You're encouraged to run > checkpatch.pl to inspect your patches. > > You may also want to add a brief paragraph in the commit message > explaining the "why" of this change. > Will update. -aneesh
Hi Aneesh,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.16-rc3 next-20180228]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/Add-support-for-4PB-virtual-address-space-on-hash/20180301-032452
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc
All errors (new ones prefixed by >>):
arch/powerpc/mm/slice.c: In function 'slice_get_unmapped_area':
>> arch/powerpc/mm/slice.c:616:1: error: the frame size of 2080 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
}
^
arch/powerpc/mm/slice.c: In function 'is_hugepage_only_range':
arch/powerpc/mm/slice.c:790:1: error: the frame size of 2080 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
}
^
cc1: all warnings being treated as errors
vim +616 arch/powerpc/mm/slice.c
3a8247cc2 Paul Mackerras 2008-06-18 597
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 598 if (addr == -ENOMEM)
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 599 return -ENOMEM;
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 600
a4d362150 Aneesh Kumar K.V 2017-03-22 601 slice_range_to_mask(addr, len, &mask);
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 602 slice_dbg(" found potential area at 0x%lx\n", addr);
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 603 slice_print_mask(" mask", mask);
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 604
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 605 convert:
4500a5c6a Aneesh Kumar K.V 2018-02-26 606 slice_mask_for_size(mm, MMU_PAGE_4K, &tmp_mask, high_limit);
f3207c124 Aneesh Kumar K.V 2017-03-22 607 slice_andnot_mask(&mask, &good_mask);
4500a5c6a Aneesh Kumar K.V 2018-02-26 608 slice_andnot_mask(&mask, &tmp_mask);
f3207c124 Aneesh Kumar K.V 2017-03-22 609 if (mask.low_slices || !bitmap_empty(mask.high_slices, SLICE_NUM_HIGH)) {
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 610 slice_convert(mm, mask, psize);
3a8247cc2 Paul Mackerras 2008-06-18 611 if (psize > MMU_PAGE_BASE)
84c3d4aae Benjamin Herrenschmidt 2008-07-16 612 on_each_cpu(slice_flush_segments, mm, 1);
3a8247cc2 Paul Mackerras 2008-06-18 613 }
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 614 return addr;
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 615
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 @616 }
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 617 EXPORT_SYMBOL_GPL(slice_get_unmapped_area);
d0f13e3c2 Benjamin Herrenschmidt 2007-05-08 618
:::::: The code at line 616 was first introduced by commit
:::::: d0f13e3c20b6fb73ccb467bdca97fa7cf5a574cd [POWERPC] Introduce address space "slices"
:::::: TO: Benjamin Herrenschmidt <benh@kernel.crashing.org>
:::::: CC: Paul Mackerras <paulus@samba.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/arch/powerpc/include/asm/book3s/64/hash-64k.h b/arch/powerpc/include/asm/book3s/64/hash-64k.h index 0ee0fc1ad675..02098d7fe177 100644 --- a/arch/powerpc/include/asm/book3s/64/hash-64k.h +++ b/arch/powerpc/include/asm/book3s/64/hash-64k.h @@ -4,7 +4,7 @@ #define H_PTE_INDEX_SIZE 8 #define H_PMD_INDEX_SIZE 10 -#define H_PUD_INDEX_SIZE 7 +#define H_PUD_INDEX_SIZE 10 #define H_PGD_INDEX_SIZE 8 /* * No of address bits below which we use the default context diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index 70d65b482504..a621a068880a 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h @@ -109,6 +109,13 @@ void release_thread(struct task_struct *); #define TASK_SIZE_64TB (0x0000400000000000UL) #define TASK_SIZE_128TB (0x0000800000000000UL) #define TASK_SIZE_512TB (0x0002000000000000UL) +#define TASK_SIZE_1PB (0x0004000000000000UL) +#define TASK_SIZE_2PB (0x0008000000000000UL) +/* + * With 52 bits in the address we can support + * upto 4PB of range. + */ +#define TASK_SIZE_4PB (0x0010000000000000UL) /* * For now 512TB is only supported with book3s and 64K linux page size. @@ -117,7 +124,7 @@ void release_thread(struct task_struct *); /* * Max value currently used: */ -#define TASK_SIZE_USER64 TASK_SIZE_512TB +#define TASK_SIZE_USER64 TASK_SIZE_4PB #define DEFAULT_MAP_WINDOW_USER64 TASK_SIZE_128TB #define TASK_CONTEXT_SIZE TASK_SIZE_512TB #else diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index fdb424a29f03..63470b06c502 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c @@ -68,12 +68,6 @@ #include "mmu_decl.h" -#ifdef CONFIG_PPC_BOOK3S_64 -#if H_PGTABLE_RANGE > USER_VSID_RANGE -#warning Limited user VSID range means pagetable space is wasted -#endif -#endif /* CONFIG_PPC_BOOK3S_64 */ - phys_addr_t memstart_addr = ~0; EXPORT_SYMBOL_GPL(memstart_addr); phys_addr_t kernstart_addr; diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c index 28c980eb4422..16636bdf3331 100644 --- a/arch/powerpc/mm/pgtable_64.c +++ b/arch/powerpc/mm/pgtable_64.c @@ -57,11 +57,6 @@ #include "mmu_decl.h" -#ifdef CONFIG_PPC_BOOK3S_64 -#if TASK_SIZE_USER64 > (1UL << (ESID_BITS + SID_SHIFT)) -#error TASK_SIZE_USER64 exceeds user VSID range -#endif -#endif #ifdef CONFIG_PPC_BOOK3S_64 /*