Re: [PATCH v2 2/3] mm, page_owner: decouple freeing stack trace from debug_pagealloc

From: Kirill A. Shutemov
Date: Tue Oct 01 2019 - 07:35:09 EST


On Mon, Sep 30, 2019 at 11:39:34PM +0200, Vlastimil Babka wrote:
> On 9/30/19 2:49 PM, Qian Cai wrote:
> >> --- a/Documentation/admin-guide/kernel-parameters.txt
> >> +++ b/Documentation/admin-guide/kernel-parameters.txt
> >> @@ -3237,6 +3237,14 @@
> >> we can turn it on.
> >> on: enable the feature
> >>
> >> + page_owner_free=
> >> + [KNL] When enabled together with page_owner, store also
> >> + the stack of who frees a page, for error page dump
> >> + purposes. This is also implicitly enabled by
> >> + debug_pagealloc=on or KASAN, so only page_owner=on is
> >> + sufficient in those cases.
> >> + on: enable the feature
> >> +
> >
> > If users are willing to set page_owner=on, what prevent them from enabling KASAN
> > as well? That way, we don't need this additional parameter.
>
> Well, my use case is shipping production kernels with CONFIG_PAGE_OWNER
> and CONFIG_DEBUG_PAGEALLOC enabled, and instructing users to boot-time
> enable only for troubleshooting a crash or memory leak, without a need
> to install a debug kernel. Things like static keys and page_ext
> allocations makes this possible without CPU and memory overhead when not
> boot-time enabled. I don't know too much about KASAN internals, but I
> assume it's not possible to use it that way on production kernels yet?

I don't know about production, but QEMU (without KVM acceleration) is
painfully slow if KASAN is enabled.

--
Kirill A. Shutemov