[Bug 87891] New: kernel BUG at mm/slab.c:2625!
Andrew Morton
akpm at linux-foundation.org
Tue Nov 11 17:44:12 PST 2014
On Wed, 12 Nov 2014 10:22:45 +0900 Joonsoo Kim <iamjoonsoo.kim at lge.com> wrote:
> On Tue, Nov 11, 2014 at 05:02:43PM -0800, Andrew Morton wrote:
> > On Wed, 12 Nov 2014 00:54:01 +0000 Luke Dashjr <luke at dashjr.org> wrote:
> >
> > > On Wednesday, November 12, 2014 12:49:13 AM Andrew Morton wrote:
> > > > But anyway - Luke, please attach your .config to
> > > > https://bugzilla.kernel.org/show_bug.cgi?id=87891?
> > >
> > > Done: https://bugzilla.kernel.org/attachment.cgi?id=157381
> > >
> >
> > OK, thanks. No CONFIG_HIGHMEM of course. I'm stumped.
>
> Hello, Andrew.
>
> I think that the cause is GFP_HIGHMEM.
> GFP_HIGHMEM is always defined regardless CONFIG_HIGHMEM.
> Please look at the do_huge_pmd_anonymous_page().
> It calls alloc_hugepage_vma() and then alloc_pages_vma() is called
> with alloc_hugepage_gfpmask(). This gfpmask includes GFP_TRANSHUGE
> and then GFP_HIGHUSER_MOVABLE.
OK.
So where's the bug? I'm inclined to say that it's in ttm. It's taking
a gfp_mask which means "this is the allocation attempt which we are
attempting to satisfy" and uses that for its own allocation.
But ttm has no business using that gfp_mask for its own allocation
attempt. If anything it should use something like, err,
GFP_KERNEL & ~__GFP_IO & ~__GFP_FS | __GFP_HIGH
although as I mentioned earlier, it would be better to avoid allocation
altogether.
Poor ttm guys - this is a bit of a trap we set for them.
More information about the dri-devel
mailing list