2024-01-25 09:57:12

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH] powerpc/mm/hash: Code cleanup

This part was commented in about 17 years before.
If there are no plans to enable this part code in the future,
we can remove this dead code.

Signed-off-by: Kunwu Chan <[email protected]>
---
arch/powerpc/include/asm/book3s/64/mmu-hash.h | 22 -------------------
1 file changed, 22 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/mmu-hash.h b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
index 1c4eebbc69c9..d39ec7134a78 100644
--- a/arch/powerpc/include/asm/book3s/64/mmu-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
@@ -731,26 +731,6 @@ struct hash_mm_context {
#endif /* CONFIG_PPC_SUBPAGE_PROT */
};

-#if 0
-/*
- * The code below is equivalent to this function for arguments
- * < 2^VSID_BITS, which is all this should ever be called
- * with. However gcc is not clever enough to compute the
- * modulus (2^n-1) without a second multiply.
- */
-#define vsid_scramble(protovsid, size) \
- ((((protovsid) * VSID_MULTIPLIER_##size) % VSID_MODULUS_##size))
-
-/* simplified form avoiding mod operation */
-#define vsid_scramble(protovsid, size) \
- ({ \
- unsigned long x; \
- x = (protovsid) * VSID_MULTIPLIER_##size; \
- x = (x >> VSID_BITS_##size) + (x & VSID_MODULUS_##size); \
- (x + ((x+1) >> VSID_BITS_##size)) & VSID_MODULUS_##size; \
- })
-
-#else /* 1 */
static inline unsigned long vsid_scramble(unsigned long protovsid,
unsigned long vsid_multiplier, int vsid_bits)
{
@@ -764,8 +744,6 @@ static inline unsigned long vsid_scramble(unsigned long protovsid,
return (vsid + ((vsid + 1) >> vsid_bits)) & vsid_modulus;
}

-#endif /* 1 */
-
/* Returns the segment size indicator for a user address */
static inline int user_segment_size(unsigned long addr)
{
--
2.39.2



2024-01-25 13:48:03

by Aneesh Kumar K.V

[permalink] [raw]
Subject: Re: [PATCH] powerpc/mm/hash: Code cleanup

On 1/25/24 3:16 PM, Kunwu Chan wrote:
> This part was commented in about 17 years before.
> If there are no plans to enable this part code in the future,
> we can remove this dead code.
>
> Signed-off-by: Kunwu Chan <[email protected]>
> ---
> arch/powerpc/include/asm/book3s/64/mmu-hash.h | 22 -------------------
> 1 file changed, 22 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/book3s/64/mmu-hash.h b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
> index 1c4eebbc69c9..d39ec7134a78 100644
> --- a/arch/powerpc/include/asm/book3s/64/mmu-hash.h
> +++ b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
> @@ -731,26 +731,6 @@ struct hash_mm_context {
> #endif /* CONFIG_PPC_SUBPAGE_PROT */
> };
>
> -#if 0
> -/*
> - * The code below is equivalent to this function for arguments
> - * < 2^VSID_BITS, which is all this should ever be called
> - * with. However gcc is not clever enough to compute the
> - * modulus (2^n-1) without a second multiply.
> - */
> -#define vsid_scramble(protovsid, size) \
> - ((((protovsid) * VSID_MULTIPLIER_##size) % VSID_MODULUS_##size))
> -
> -/* simplified form avoiding mod operation */
> -#define vsid_scramble(protovsid, size) \
> - ({ \
> - unsigned long x; \
> - x = (protovsid) * VSID_MULTIPLIER_##size; \
> - x = (x >> VSID_BITS_##size) + (x & VSID_MODULUS_##size); \
> - (x + ((x+1) >> VSID_BITS_##size)) & VSID_MODULUS_##size; \
> - })
> -
> -#else /* 1 */
> static inline unsigned long vsid_scramble(unsigned long protovsid,
> unsigned long vsid_multiplier, int vsid_bits)
> {
> @@ -764,8 +744,6 @@ static inline unsigned long vsid_scramble(unsigned long protovsid,
> return (vsid + ((vsid + 1) >> vsid_bits)) & vsid_modulus;
> }
>
> -#endif /* 1 */
> -
> /* Returns the segment size indicator for a user address */
> static inline int user_segment_size(unsigned long addr)
> {

That was done to make sure one can follow the actual compiled code better.

-aneesh


2024-01-26 01:51:50

by Kunwu Chan

[permalink] [raw]
Subject: Re: [PATCH] powerpc/mm/hash: Code cleanup

On 2024/1/25 21:47, Aneesh Kumar K.V wrote:
> On 1/25/24 3:16 PM, Kunwu Chan wrote:
>> This part was commented in about 17 years before.
>> If there are no plans to enable this part code in the future,
>> we can remove this dead code.
>>
>> Signed-off-by: Kunwu Chan <[email protected]>
>> ---
>> arch/powerpc/include/asm/book3s/64/mmu-hash.h | 22 -------------------
>> 1 file changed, 22 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/book3s/64/mmu-hash.h b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
>> index 1c4eebbc69c9..d39ec7134a78 100644
>> --- a/arch/powerpc/include/asm/book3s/64/mmu-hash.h
>> +++ b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
>> @@ -731,26 +731,6 @@ struct hash_mm_context {
>> #endif /* CONFIG_PPC_SUBPAGE_PROT */
>> };
>>
>> -#if 0
>> -/*
>> - * The code below is equivalent to this function for arguments
>> - * < 2^VSID_BITS, which is all this should ever be called
>> - * with. However gcc is not clever enough to compute the
>> - * modulus (2^n-1) without a second multiply.
>> - */
>> -#define vsid_scramble(protovsid, size) \
>> - ((((protovsid) * VSID_MULTIPLIER_##size) % VSID_MODULUS_##size))
>> -
>> -/* simplified form avoiding mod operation */
>> -#define vsid_scramble(protovsid, size) \
>> - ({ \
>> - unsigned long x; \
>> - x = (protovsid) * VSID_MULTIPLIER_##size; \
>> - x = (x >> VSID_BITS_##size) + (x & VSID_MODULUS_##size); \
>> - (x + ((x+1) >> VSID_BITS_##size)) & VSID_MODULUS_##size; \
>> - })
>> -
>> -#else /* 1 */
>> static inline unsigned long vsid_scramble(unsigned long protovsid,
>> unsigned long vsid_multiplier, int vsid_bits)
>> {
>> @@ -764,8 +744,6 @@ static inline unsigned long vsid_scramble(unsigned long protovsid,
>> return (vsid + ((vsid + 1) >> vsid_bits)) & vsid_modulus;
>> }
>>
>> -#endif /* 1 */
>> -
>> /* Returns the segment size indicator for a user address */
>> static inline int user_segment_size(unsigned long addr)
>> {
>
> That was done to make sure one can follow the actual compiled code better.
Thanks for your explanation. It's my bad.
>
> -aneesh
>
--
Thanks,
Kunwu