[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wg09h4_-g6Fc1K5UqA==Zfe1gXQhJcZ6J9Mnopp15gptg@mail.gmail.com>
Date: Fri, 22 Apr 2022 09:23:18 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Nicholas Piggin <npiggin@...il.com>
Cc: Paul Menzel <pmenzel@...gen.mpg.de>,
"the arch/x86 maintainers" <x86@...nel.org>,
Song Liu <songliubraving@...com>,
"Edgecombe, Rick P" <rick.p.edgecombe@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux-MM <linux-mm@...ck.org>
Subject: Re: [PATCH 1/2] mm/vmalloc: huge vmalloc backing pages should be
split rather than compound
On Thu, Apr 21, 2022 at 11:01 PM Nicholas Piggin <npiggin@...il.com> wrote:
>
> Huge vmalloc higher-order backing pages were allocated with __GFP_COMP
> in order to allow the sub-pages to be refcounted by callers such as
> "remap_vmalloc_page [sic]" (remap_vmalloc_range).
>
> However a similar problem exists for other struct page fields callers
> use, for example fb_deferred_io_fault() takes a vmalloc'ed page and
> not only refcounts it but uses ->lru, ->mapping, ->index. This is not
> compatible with compound sub-pages.
>
> The correct approach is to use split high-order pages for the huge
> vmalloc backing. These allow callers to treat them in exactly the same
> way as individually-allocated order-0 pages.
This patch looks ObviouslyCorrect(tm), and you even reproduced the
fbdev problem.
Applied.
Linus
Powered by blists - more mailing lists