Message ID | 20160107191613.0228560b@canb.auug.org.au (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Thu, 2016-01-07 at 19:16 +1100, Stephen Rothwell wrote: > Hi all, > > After merging the powerpc tree, today's linux-next build (powerpc64 > allnoconfig) failed like this: > > arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize': > arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context' > return get_paca()->context.user_psize; > ^ > arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type] > } > ^ > > Caused by commit > > 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca") Well that's rather embarrassing, for Mikey ;D > This build has CONFIG_PPC_MM_SLICES not set ... Ugh, but it would seem none of our defconfigs do :/ > I have applied the following patch for today: Thanks. I'll merge it or something similar once I get a chance to test it. cheers
On Thu, 2016-07-01 at 08:16:13 UTC, Stephen Rothwell wrote: > Hi all, > > After merging the powerpc tree, today's linux-next build (powerpc64 > allnoconfig) failed like this: > > arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize': > arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context' > return get_paca()->context.user_psize; > ^ > arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type] > } > ^ > > Caused by commit > > 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca") > > This build has CONFIG_PPC_MM_SLICES not set ... > > I have applied the following patch for today: > > From: Stephen Rothwell <sfr@canb.auug.org.au> > Date: Thu, 7 Jan 2016 19:07:18 +1100 > Subject: [PATCH] powerpc: restore the user_psize member of the mm_context_t in > the paca > > It is used when CONFIG_PPC_MM_SLICES is not set. > > Fixes: 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca") > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/c33e54fafacaf83b3e345aae0e cheers
Michael Ellerman <mpe@ellerman.id.au> writes: > On Thu, 2016-01-07 at 19:16 +1100, Stephen Rothwell wrote: >> Hi all, >> >> After merging the powerpc tree, today's linux-next build (powerpc64 >> allnoconfig) failed like this: >> >> arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize': >> arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context' >> return get_paca()->context.user_psize; >> ^ >> arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type] >> } >> ^ >> >> Caused by commit >> >> 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca") > > Well that's rather embarrassing, for Mikey ;D > >> This build has CONFIG_PPC_MM_SLICES not set ... > > Ugh, but it would seem none of our defconfigs do :/ 4K page size with hugetlb disabled will get that -aneesh
On Wed, 2016-01-13 at 11:16 +0530, Aneesh Kumar K.V wrote: > Michael Ellerman <mpe@ellerman.id.au> writes: > > On Thu, 2016-01-07 at 19:16 +1100, Stephen Rothwell wrote: > > > After merging the powerpc tree, today's linux-next build (powerpc64 > > > allnoconfig) failed like this: > > > > > > arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize': > > > arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context' > > > return get_paca()->context.user_psize; > > > ^ > > > arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type] > > > } > > > ^ > > > > > > Caused by commit > > > > > > 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca") > > > > Well that's rather embarrassing, for Mikey ;D > > > This build has CONFIG_PPC_MM_SLICES not set ... > > > > Ugh, but it would seem none of our defconfigs do :/ > > 4K page size with hugetlb disabled will get that Yeah, but none of our defconfigs do that. I've got a kisskb target for it now: http://kisskb.ellerman.id.au/kisskb/target/28577/ cheers
diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h index ef78c288c712..546540b91095 100644 --- a/arch/powerpc/include/asm/paca.h +++ b/arch/powerpc/include/asm/paca.h @@ -138,6 +138,7 @@ struct paca_struct { u64 mm_ctx_low_slices_psize; unsigned char mm_ctx_high_slices_psize[SLICE_ARRAY_SIZE]; #else + u16 mm_ctx_user_psize; u16 mm_ctx_sllp; #endif #endif @@ -212,6 +213,7 @@ static inline void copy_mm_to_paca(mm_context_t *context) memcpy(&get_paca()->mm_ctx_high_slices_psize, &context->high_slices_psize, SLICE_ARRAY_SIZE); #else + get_paca()->mm_ctx_user_psize = context->user_psize; get_paca()->mm_ctx_sllp = context->sllp; #endif } diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index db744576d730..ba59d5977f34 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c @@ -866,7 +866,7 @@ static unsigned int get_paca_psize(unsigned long addr) #else unsigned int get_paca_psize(unsigned long addr) { - return get_paca()->context.user_psize; + return get_paca()->mm_ctx_user_psize; } #endif