Messages in this thread | | | Date | Wed, 23 Oct 2019 14:15:14 +0100 | From | Mel Gorman <> | Subject | Re: [RFC PATCH 2/2] mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo |
| |
On Wed, Oct 23, 2019 at 12:27:37PM +0200, 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>
You could have used need_resched() instead of unconditionally dropping the lock but that's very minor for a proc file and it would allos a parallel allocation to go ahead so
Acked-by: Mel Gorman <mgorman@suse.de>
-- Mel Gorman SUSE Labs
| |