Re: [PATCH v2 1/2] hugetlbfs: use i_mmap_rwsem for more pmd sharing synchronization

From: Mike Kravetz
Date: Mon Mar 30 2020 - 19:35:41 EST


On 3/30/20 7:01 AM, Naresh Kamboju wrote:
> FYI,
>
> The device is x86_64 device running i386 kernel image.
>
> - Naresh
>
> On Mon, 30 Mar 2020 at 19:00, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
>>
>> On i386 running LTP hugetlb tests found kernel BUG at fs/hugetlbfs/inode.c:458
>> Running Linux version 5.6.0-rc7-next-20200330
>> And hugemmap test failed due to ENOMEM.
>>
>> steps to reproduce:
>> # cd /opt/ltp
>> # ./runltp -f hugetlb

It took me a while to set up an environment to reproduce. I was finally
able to reproduce on an x86_64 VM running a 32 bit OS/5.6.0-rc7-next-20200330
kernel.

My first attempt with PAE enabled and 8GB of memory did not reproduce. When
I disabled PAE and dropped memory to 4GB, the problem reproduced.

After reverting this patch, and the followup in the series I was still able
to recreate the issue. So, the patches are not the root cause.

One 'interesting' thing are the messages,
mm/pgtable-generic.c:50: bad pgd ...
These show up before the hugetlbfs BUG.

I will continue to investigate. However, if the 'bad pgd ..' message provides
a hint to someone please let us know.
--
Mike Kravetz