linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* VM_BUG_ON in  __prep_compound_gigantic_page
@ 2022-11-18  8:50 Aneesh Kumar K.V
  2022-11-18  8:51 ` Aneesh Kumar K.V
  0 siblings, 1 reply; 3+ messages in thread
From: Aneesh Kumar K.V @ 2022-11-18  8:50 UTC (permalink / raw)
  To: Mike Kravetz; +Cc: tsahu, linux-mm


Hi Mike,

With latest upstream I am finding the below:

[    0.246646] page dumped because: VM_BUG_ON_PAGE(1 && PageCompound(page))
[    0.246671] ------------[ cut here ]------------
[    0.246679] kernel BUG at include/linux/page-flags.h:500!
cpu 0x6: Vector: 700 (Program Check) at [c00000000fe5b700]
    pc: c0000000005e9984: __prep_compound_gigantic_page+0xd4/0x3e0
    lr: c0000000005e9980: __prep_compound_gigantic_page+0xd0/0x3e0
    sp: c00000000fe5b9a0
   msr: 8000000000029033
  current = 0xc00000000fdf9880
  paca    = 0xc00000001ec7f480   irqmask: 0x03   irq_happened: 0x01
    pid   = 1, comm = swapper/0
kernel BUG at e)):500!
Linux version 6.1.0-rc5-00518-ge0951d75adc4 (kvaneesh@ltczz75-lp2) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #395 SMP Fri Nov 18 00:44:21 CST 2022
enter ? for help
[c00000000fe5ba60] c000000001bddd74 hugetlb_init+0x60c/0xa10
[c00000000fe5bb60] c0000000000121c0 do_one_initcall+0xa0/0x550
[c00000000fe5bc40] c000000001b94b90 do_basic_setup+0x1f4/0x254
[c00000000fe5bd20] c000000001b94f38 kernel_init_freeable+0x2ac/0x32c
[c00000000fe5bda0] c000000000012cf0 kernel_init+0x44/0x184
[c00000000fe5be10] c00000000000cdec ret_from_kernel_thread+0x5c/0x64
6:mon> 


IIUC that is because we are doing __SetPageHead() before doing
__ClearPageReserved(). The original commit that added compound head
check in set/clear page reserved did have the change to take care of
this.

commit ef5a22be2c52 ("mm: hugetlb: initialize PG_reserved for tail pages of gigantic compound pages")

-aneesh


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: VM_BUG_ON in  __prep_compound_gigantic_page
  2022-11-18  8:50 VM_BUG_ON in __prep_compound_gigantic_page Aneesh Kumar K.V
@ 2022-11-18  8:51 ` Aneesh Kumar K.V
  2022-11-18 19:27   ` Mike Kravetz
  0 siblings, 1 reply; 3+ messages in thread
From: Aneesh Kumar K.V @ 2022-11-18  8:51 UTC (permalink / raw)
  To: Mike Kravetz; +Cc: tsahu, linux-mm

"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> writes:

> Hi Mike,
>
> With latest upstream I am finding the below:
>
> [    0.246646] page dumped because: VM_BUG_ON_PAGE(1 && PageCompound(page))
> [    0.246671] ------------[ cut here ]------------
> [    0.246679] kernel BUG at include/linux/page-flags.h:500!
> cpu 0x6: Vector: 700 (Program Check) at [c00000000fe5b700]
>     pc: c0000000005e9984: __prep_compound_gigantic_page+0xd4/0x3e0
>     lr: c0000000005e9980: __prep_compound_gigantic_page+0xd0/0x3e0
>     sp: c00000000fe5b9a0
>    msr: 8000000000029033
>   current = 0xc00000000fdf9880
>   paca    = 0xc00000001ec7f480   irqmask: 0x03   irq_happened: 0x01
>     pid   = 1, comm = swapper/0
> kernel BUG at e)):500!
> Linux version 6.1.0-rc5-00518-ge0951d75adc4 (kvaneesh@ltczz75-lp2) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #395 SMP Fri Nov 18 00:44:21 CST 2022
> enter ? for help
> [c00000000fe5ba60] c000000001bddd74 hugetlb_init+0x60c/0xa10
> [c00000000fe5bb60] c0000000000121c0 do_one_initcall+0xa0/0x550
> [c00000000fe5bc40] c000000001b94b90 do_basic_setup+0x1f4/0x254
> [c00000000fe5bd20] c000000001b94f38 kernel_init_freeable+0x2ac/0x32c
> [c00000000fe5bda0] c000000000012cf0 kernel_init+0x44/0x184
> [c00000000fe5be10] c00000000000cdec ret_from_kernel_thread+0x5c/0x64
> 6:mon> 
>
>
> IIUC that is because we are doing __SetPageHead() before doing
> __ClearPageReserved(). The original commit that added compound head
> check in set/clear page reserved did have the change to take care of
> this.
>

Adding the correct commit details
commit de09d31dd38a ("page-flags: define PG_reserved behavior on compound pages")

-aneesh


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: VM_BUG_ON in  __prep_compound_gigantic_page
  2022-11-18  8:51 ` Aneesh Kumar K.V
@ 2022-11-18 19:27   ` Mike Kravetz
  0 siblings, 0 replies; 3+ messages in thread
From: Mike Kravetz @ 2022-11-18 19:27 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: tsahu, linux-mm

On 11/18/22 14:21, Aneesh Kumar K.V wrote:
> "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> writes:
> 
> > Hi Mike,
> >
> > With latest upstream I am finding the below:
> >
> > [    0.246646] page dumped because: VM_BUG_ON_PAGE(1 && PageCompound(page))
> > [    0.246671] ------------[ cut here ]------------
> > [    0.246679] kernel BUG at include/linux/page-flags.h:500!
> > cpu 0x6: Vector: 700 (Program Check) at [c00000000fe5b700]
> >     pc: c0000000005e9984: __prep_compound_gigantic_page+0xd4/0x3e0
> >     lr: c0000000005e9980: __prep_compound_gigantic_page+0xd0/0x3e0
> >     sp: c00000000fe5b9a0
> >    msr: 8000000000029033
> >   current = 0xc00000000fdf9880
> >   paca    = 0xc00000001ec7f480   irqmask: 0x03   irq_happened: 0x01
> >     pid   = 1, comm = swapper/0
> > kernel BUG at e)):500!
> > Linux version 6.1.0-rc5-00518-ge0951d75adc4 (kvaneesh@ltczz75-lp2) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #395 SMP Fri Nov 18 00:44:21 CST 2022
> > enter ? for help
> > [c00000000fe5ba60] c000000001bddd74 hugetlb_init+0x60c/0xa10
> > [c00000000fe5bb60] c0000000000121c0 do_one_initcall+0xa0/0x550
> > [c00000000fe5bc40] c000000001b94b90 do_basic_setup+0x1f4/0x254
> > [c00000000fe5bd20] c000000001b94f38 kernel_init_freeable+0x2ac/0x32c
> > [c00000000fe5bda0] c000000000012cf0 kernel_init+0x44/0x184
> > [c00000000fe5be10] c00000000000cdec ret_from_kernel_thread+0x5c/0x64
> > 6:mon> 
> >
> >
> > IIUC that is because we are doing __SetPageHead() before doing
> > __ClearPageReserved(). The original commit that added compound head
> > check in set/clear page reserved did have the change to take care of
> > this.
> >
> 
> Adding the correct commit details
> commit de09d31dd38a ("page-flags: define PG_reserved behavior on compound pages")

Thanks Aneesh!

This was caused by shuffling of code in  my commit 2b21624fc2327 ("hugetlb:
freeze allocated pages before creating hugetlb pages").  My bad for not
running with CONFIG_DEBUG_VM_PGFLAGS.

Will send a fix shortly.
-- 
Mike Kravetz


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-18 19:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-18  8:50 VM_BUG_ON in __prep_compound_gigantic_page Aneesh Kumar K.V
2022-11-18  8:51 ` Aneesh Kumar K.V
2022-11-18 19:27   ` Mike Kravetz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox