linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Mel Gorman <mgorman@suse.de>, Waiman Long <longman@redhat.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Roman Gushchin <guro@fb.com>,
	Konstantin Khlebnikov <khlebnikov@yandex-team.ru>,
	Jann Horn <jannh@google.com>, Song Liu <songliubraving@fb.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rafael Aquini <aquini@redhat.com>,
	linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 2/2] mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo
Date: Wed, 23 Oct 2019 16:31:02 +0200	[thread overview]
Message-ID: <20191023143102.GI17610@dhcp22.suse.cz> (raw)
In-Reply-To: <7fb34979-66a4-4a5d-1798-402826e31e72@suse.cz>

On Wed 23-10-19 15:48:36, Vlastimil Babka wrote:
> On 10/23/19 3:37 PM, Michal Hocko wrote:
> > On Wed 23-10-19 15:32:05, Vlastimil Babka wrote:
> >> On 10/23/19 12:27 PM, Michal Hocko wrote:
> >>> From: Michal Hocko <mhocko@suse.com>
> >>>
> >>> pagetypeinfo_showfree_print is called by zone->lock held in irq mode.
> >>> This is not really nice because it blocks both any interrupts on that
> >>> cpu and the page allocator. On large machines this might even trigger
> >>> the hard lockup detector.
> >>>
> >>> Considering the pagetypeinfo is a debugging tool we do not really need
> >>> exact numbers here. The primary reason to look at the outuput is to see
> >>> how pageblocks are spread among different migratetypes therefore putting
> >>> a bound on the number of pages on the free_list sounds like a reasonable
> >>> tradeoff.
> >>>
> >>> The new output will simply tell
> >>> [...]
> >>> Node    6, zone   Normal, type      Movable >100000 >100000 >100000 >100000  41019  31560  23996  10054   3229    983    648
> >>>
> >>> instead of
> >>> Node    6, zone   Normal, type      Movable 399568 294127 221558 102119  41019  31560  23996  10054   3229    983    648
> >>>
> >>> The limit has been chosen arbitrary and it is a subject of a future
> >>> change should there be a need for that.
> >>>
> >>> Suggested-by: Andrew Morton <akpm@linux-foundation.org>
> >>> Signed-off-by: Michal Hocko <mhocko@suse.com>
> >>
> >> Hmm dunno, I would rather e.g. hide the file behind some config or boot
> >> option than do this. Or move it to /sys/kernel/debug ?
> > 
> > But those wouldn't really help to prevent from the lockup, right?
> 
> No, but it would perhaps help ensure that only people who know what they
> are doing (or been told so by a developer e.g. on linux-mm) will try to
> collect the data, and not some automatic monitoring tools taking
> periodic snapshots of stuff in /proc that looks interesting.

Well, we do trust root doesn't do harm, right?

> > Besides that who would enable that config and how much of a difference
> > would root only vs. debugfs make?
> 
> I would hope those tools don't scrap debugfs as much as /proc, but I
> might be wrong of course :)
> 
> > Is the incomplete value a real problem?
> 
> Hmm perhaps not. If the overflow happens only for one migratetype, one
> can use also /proc/buddyinfo to get to the exact count, as was proposed
> in this thread for Movable migratetype.

Let's say this won't be the case. What is the worst case that the
imprecision would cause? In other words. Does it really matter whether
we have 100k pages on the free list of the specific migrate type for
order or say 200k?

-- 
Michal Hocko
SUSE Labs


  reply	other threads:[~2019-10-23 14:31 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-22 16:21 [PATCH] mm/vmstat: Reduce zone lock hold time when reading /proc/pagetypeinfo Waiman Long
2019-10-22 16:57 ` Michal Hocko
2019-10-22 18:00   ` Waiman Long
2019-10-22 18:40     ` Waiman Long
2019-10-23  0:52       ` David Rientjes
2019-10-23  8:31   ` Mel Gorman
2019-10-23  9:04     ` Michal Hocko
2019-10-23  9:56       ` Mel Gorman
2019-10-23 10:27         ` [RFC PATCH 0/2] " Michal Hocko
2019-10-23 10:27           ` [RFC PATCH 1/2] mm, vmstat: hide /proc/pagetypeinfo from normal users Michal Hocko
2019-10-23 13:13             ` Mel Gorman
2019-10-23 13:27             ` Vlastimil Babka
2019-10-23 14:52             ` Waiman Long
2019-10-23 15:10             ` Rafael Aquini
2019-10-23 16:15             ` Vlastimil Babka
2019-10-24 19:01             ` David Rientjes
2019-10-23 10:27           ` [RFC PATCH 2/2] mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo Michal Hocko
2019-10-23 13:15             ` Mel Gorman
2019-10-23 13:32             ` Vlastimil Babka
2019-10-23 13:37               ` Michal Hocko
2019-10-23 13:48                 ` Vlastimil Babka
2019-10-23 14:31                   ` Michal Hocko [this message]
2019-10-23 16:20                     ` Vlastimil Babka
2019-10-23 13:46               ` Rafael Aquini
2019-10-23 14:56             ` Waiman Long
2019-10-23 15:21               ` Waiman Long
2019-10-23 16:10               ` Michal Hocko
2019-10-23 16:17                 ` Waiman Long
2019-10-23 16:21                   ` Waiman Long
2019-10-23 16:15             ` Vlastimil Babka
2019-10-23 16:41             ` Michal Hocko
2019-10-23 16:47               ` Waiman Long
2019-10-23 17:34             ` [PATCH 1/2] mm, vmstat: Release zone lock more frequently when reading /proc/pagetypeinfo Waiman Long
2019-10-23 18:01               ` Michal Hocko
2019-10-23 18:14                 ` Waiman Long
2019-10-23 20:02                   ` Michal Hocko
2019-10-23 17:34             ` [PATCH 2/2] mm, vmstat: List total free blocks for each order in /proc/pagetypeinfo Waiman Long
2019-10-23 18:02               ` Michal Hocko
2019-10-23 18:07                 ` Waiman Long
2019-10-24  8:20           ` [RFC PATCH 0/2] mm/vmstat: Reduce zone lock hold time when reading /proc/pagetypeinfo Michal Hocko
2019-10-24 16:16             ` Waiman Long
2019-10-23 12:42         ` [PATCH] " Qian Cai
2019-10-23 13:25         ` Vlastimil Babka
2019-10-22 21:59 ` Andrew Morton
2019-10-23  6:15   ` Michal Hocko
2019-10-23 14:30   ` Waiman Long
2019-10-23 14:48     ` Qian Cai
2019-10-23 15:01       ` Waiman Long
2019-10-23 15:05         ` Qian Cai
2019-10-23 22:30         ` Andrew Morton
2019-10-24  5:33           ` Qian Cai
2019-10-24  7:42             ` Michal Hocko
2019-10-24 11:11               ` Qian Cai
2019-10-24 13:38                 ` Michal Hocko
2019-10-24 14:55                   ` Qian Cai
2019-10-24  3:33         ` Feng Tang
2019-10-24  4:34           ` Qian Cai
2019-10-24  5:34             ` Feng Tang
2019-10-24 10:51               ` Qian Cai
2019-10-25  1:38                 ` Feng Tang
2019-10-23 15:03       ` Rafael Aquini
2019-10-23 15:51         ` Qian Cai

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=20191023143102.GI17610@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=aquini@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=jannh@google.com \
    --cc=khlebnikov@yandex-team.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=longman@redhat.com \
    --cc=mgorman@suse.de \
    --cc=songliubraving@fb.com \
    --cc=vbabka@suse.cz \
    /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