linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Minchan Kim <minchan@kernel.org>
To: Michal Hocko <mhocko@suse.com>
Cc: David Hildenbrand <david@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	joaodias@google.com
Subject: Re: [PATCH] mm: be more verbose for alloc_contig_range faliures
Date: Mon, 8 Mar 2021 09:01:10 -0800	[thread overview]
Message-ID: <YEZYVkWV+qygPkT3@google.com> (raw)
In-Reply-To: <YEZPG+9ql2j8O9QS@dhcp22.suse.cz>

On Mon, Mar 08, 2021 at 05:21:47PM +0100, Michal Hocko wrote:
> On Mon 08-03-21 07:58:11, Minchan Kim wrote:
> [...]
> > It's the dynamic debugging facility
> > to enable only when admin want to use it. Otherwise, it's nop
> > unless is't not enabled. Furthermore, it doesn't need to invent
> > custom dump_page implementation(including dump_page_owner) by
> > chaning pr_debug.
> > Could you clarify your requirement?
> > 
> > https://lore.kernel.org/linux-mm/YEEUq8ZRn4WyYWVx@google.com/
> 
> I am not really sure this is the right way to enable dynamic logging.
> Maybe it is. I thought we can go with something as simple as pr_debug.
> You are right that we do not have dump_page with the kernel log level.
> This is rather annoying but a) do we need a full dump_page functionality

Most parts I take care of are

        pr_warn("page:%p refcount:%d mapcount:%d mapping:%p index:%#lx pfn:%#lx\n",
                        page, page_ref_count(head), mapcount, mapping,
                        page_to_pgoff(page), page_to_pfn(page));

        pr_warn("%sflags: %#lx(%pGp)%s\n", type, head->flags, &head->flags,
                page_cma ? " CMA" : "");


And dump_page_owner which was super helpful to find GUP places.

Looks like most of dump_pages.

> and b) can we make it log level aware with the dynamic debug
> infrastructure preserved? If not then then an explicit handling is

If we could make aware of loglevel, we need to enable each by each IOW.
IOW, what we want to enable is mm/page_alloc.c #1492 line, for example.

However, we should enable 
  mm/debug.c # 88 line
  mm/debug.c # 102 line
  mm/debug.c # 121 line
mm/page_owner.c # 448 line
mm/page_owner.c # 450 line
kernel/stacktrace.c #32 line

And so on. Furthermore, user should be aware of that how the kernel code
is changed for those all sites and reconfigure and follow new added
code.

So, I choosed explict handling.

> probably the only way and this should be reviewed by people who are more
> familiar with that framework than me.

> -- 
> Michal Hocko
> SUSE Labs


  reply	other threads:[~2021-03-08 17:01 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-17 16:36 [PATCH] mm: be more verbose for alloc_contig_range faliures Minchan Kim
2021-02-17 16:51 ` David Hildenbrand
2021-02-17 17:26   ` Minchan Kim
2021-02-17 17:34     ` David Hildenbrand
2021-02-17 17:45       ` Minchan Kim
2021-02-18  8:56 ` Michal Hocko
2021-02-18  9:02   ` David Hildenbrand
2021-02-18  9:35     ` Michal Hocko
2021-02-18  9:43       ` David Hildenbrand
2021-02-18  9:59         ` Michal Hocko
2021-02-18 16:19         ` Minchan Kim
2021-02-18 16:26           ` David Hildenbrand
2021-02-18 16:47             ` Minchan Kim
2021-02-18 16:53               ` David Hildenbrand
2021-02-19  9:28           ` Michal Hocko
2021-02-19  9:30             ` David Hildenbrand
2021-02-19 10:02               ` Michal Hocko
2021-02-19 10:34                 ` David Hildenbrand
     [not found]             ` <YD50pcPuwV456vwm@google.com>
2021-03-04 16:01               ` Minchan Kim
2021-03-04 16:10                 ` David Hildenbrand
2021-03-04 16:23                   ` Minchan Kim
2021-03-04 16:28                     ` David Hildenbrand
2021-03-04 17:11                       ` Minchan Kim
2021-03-04 17:23                         ` David Hildenbrand
2021-03-04 18:11                           ` Minchan Kim
2021-03-04 18:22                             ` Minchan Kim
2021-03-08 12:49                               ` Michal Hocko
2021-03-08 13:22                                 ` David Hildenbrand
2021-03-08 14:11                                   ` Michal Hocko
2021-03-08 14:13                                     ` David Hildenbrand
2021-03-08 15:42                                       ` Michal Hocko
2021-03-08 15:58                                         ` Minchan Kim
2021-03-08 16:21                                           ` Michal Hocko
2021-03-08 17:01                                             ` Minchan Kim [this message]
2021-03-08 20:27                                           ` Minchan Kim
2021-02-18 16:10   ` Minchan Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YEZYVkWV+qygPkT3@google.com \
    --to=minchan@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=david@redhat.com \
    --cc=joaodias@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).