Subject: Re: mmotm 2015-01-22-15-04: qemu failures due to 'mm: account pmd page tables to the process'

From: Guenter Roeck <[email-masked]>
Date: Fri, 23 Jan 2015 19:05:42 -0800

On 01/23/2015 06:44 PM, Guenter Roeck wrote:
> On 01/23/2015 01:55 PM, Andrew Morton wrote:
>> On Fri, 23 Jan 2015 07:07:56 -0800 Guenter Roeck <[email-masked]> wrote:
>>
>>>>>
>>>>> qemu:microblaze generates warnings to the console.
>>>>>
>>>>> WARNING: CPU: 0 PID: 32 at mm/mmap.c:2858 exit_mmap+0x184/0x1a4()
>>>>>
>>>>> with various call stacks. See
>>>>> http://server.roeck-us.net:8010/builders/qemu-microblaze-mmotm/builds/15/steps/qemubuildcommand/logs/stdio
>>>>> for details.
>>>>
>>>> Could you try patch below? Completely untested.
>>>>
>>>> >From b584bb8d493794f67484c0b57c161d61c02599bc Mon Sep 17 00:00:00 2001
>>>> From: "Kirill A. Shutemov" <[email-masked]>
>>>> Date: Fri, 23 Jan 2015 13:08:26 +0200
>>>> Subject: [PATCH] microblaze: define __PAGETABLE_PMD_FOLDED
>>>>
>>>> Microblaze uses custom implementation of PMD folding, but doesn't define
>>>> __PAGETABLE_PMD_FOLDED, which generic code expects to see. Let's fix it.
>>>>
>>>> Defining __PAGETABLE_PMD_FOLDED will drop out unused __pmd_alloc().
>>>> It also fixes problems with recently-introduced pmd accounting.
>>>>
>>>> Signed-off-by: Kirill A. Shutemov <[email-masked]>
>>>> Reported-by: Guenter Roeck <[email-masked]>
>>>
>>> Tested working.
>>>
>>> Tested-by: Guenter Roeck <[email-masked]>
>>>
>>> Any idea how to fix the sh problem ?
>>
>> Can you tell us more about it?  All I'm seeing is "qemu:sh fails to
>> shut down", which isn't very clear.
>>
>
> qemu command line:
>
> /opt/buildbot/bin/qemu-system-sh4 -M r2d -kernel ./arch/sh/boot/zImage \
>          -drive file=rootfs.ext2,if=ide \
>          -append "root=/dev/sda console=ttySC1,115200 noiotrap"
>          -serial null -serial stdio -net nic,model=rtl8139 -net user
>          -nographic -monitor null
>
> --
> Poweroff log in mainline (v3.19-rc5-119-gb942c65):
>
> / # poweroff
> The system is going down NOW!
> Sent SIGTERM to all processes
> Sent SIGKILL to all processes
> Requesting system poweroff
> sd 0:0:0:0: [sda] Synchronizing SCSI cache
> sd 0:0:0:0: [sda] Stopping disk
> reboot: Power down
>
> --
> Poweroff log in mmotm (v3.19-rc5-417-gc64429b):
>
> / # poweroff
>
> [ nothing else happens until I kill the qemu session ]
>
> The "halt" command does not work either.
>
> --
> The message "The system is going down NOW" is from the init process.
> If I use "kill -12 1" instead of "halt" or "poweroff", the system does
> shut down as expected. "poweroff -f" also works.
>
> Trying to debug this further, I noticed that the "ps" command hangs
> as well, so the problem is not limited to poweroff or halt.
>
> I'll be happy to debug this further, I just have no idea where to start.
>

Another data point: Reverting commit 22310c209483 does fix the problem.

Guenter