Re: [PATCH v2 2/3] powerpc: get hugetlbpage handling more generic

From: Aneesh Kumar K.V
Date: Mon Sep 19 2016 - 22:28:59 EST


christophe leroy <christophe.leroy@xxxxxx> writes:

> Le 19/09/2016 Ã 07:50, Aneesh Kumar K.V a Ãcrit :
>>
>> Christophe Leroy <christophe.leroy@xxxxxx> writes:
>>> +#else
>>> +static void hugepd_free(struct mmu_gather *tlb, void *hugepte)
>>> +{
>>> + BUG();
>>> +}
>>> +
>>> #endif
>>
>>
>> I was expecting that BUG will get removed in the next patch. But I don't
>> see it in the next patch. Considering
>>
>> @@ -475,11 +453,10 @@ static void free_hugepd_range(struct mmu_gather *tlb, hugepd_t *hpdp, int pdshif
>> for (i = 0; i < num_hugepd; i++, hpdp++)
>> hpdp->pd = 0;
>>
>> -#ifdef CONFIG_PPC_FSL_BOOK3E
>> - hugepd_free(tlb, hugepte);
>> -#else
>> - pgtable_free_tlb(tlb, hugepte, pdshift - shift);
>> -#endif
>> + if (shift >= pdshift)
>> + hugepd_free(tlb, hugepte);
>> + else
>> + pgtable_free_tlb(tlb, hugepte, pdshift - shift);
>> }
>>
>> What is that I am missing ?
>>
>
> Previously, call to hugepd_free() was compiled only when #ifdef
> CONFIG_PPC_FSL_BOOK3E
> Now, it is compiled at all time, but it should never be called if not
> CONFIG_PPC_FSL_BOOK3E because we always have shift < pdshift in that case.
> Then the function needs to be defined anyway but should never be called.
> Should I just define it static inline {} ?
>

For 8M with 4K mode, we have shift >= pdshift right ?

-aneesh