Messages in this thread | | | Subject | Re: [PATCH 4/6] mm/page_alloc: Scale the number of pages that are batch freed | From | Vlastimil Babka <> | Date | Fri, 28 May 2021 13:19:45 +0200 |
| |
On 5/25/21 10:01 AM, Mel Gorman wrote: > When a task is freeing a large number of order-0 pages, it may acquire > the zone->lock multiple times freeing pages in batches. This may > unnecessarily contend on the zone lock when freeing very large number > of pages. This patch adapts the size of the batch based on the recent > pattern to scale the batch size for subsequent frees. > > As the machines I used were not large enough to test this are not large > enough to illustrate a problem, a debugging patch shows patterns like > the following (slightly editted for clarity) > > Baseline vanilla kernel > time-unmap-14426 [...] free_pcppages_bulk: free 63 count 378 high 378 > time-unmap-14426 [...] free_pcppages_bulk: free 63 count 378 high 378 > time-unmap-14426 [...] free_pcppages_bulk: free 63 count 378 high 378 > time-unmap-14426 [...] free_pcppages_bulk: free 63 count 378 high 378 > time-unmap-14426 [...] free_pcppages_bulk: free 63 count 378 high 378 > > With patches > time-unmap-7724 [...] free_pcppages_bulk: free 126 count 814 high 814 > time-unmap-7724 [...] free_pcppages_bulk: free 252 count 814 high 814 > time-unmap-7724 [...] free_pcppages_bulk: free 504 count 814 high 814 > time-unmap-7724 [...] free_pcppages_bulk: free 751 count 814 high 814 > time-unmap-7724 [...] free_pcppages_bulk: free 751 count 814 high 814 > > Signed-off-by: Mel Gorman <mgorman@techsingularity.net> > Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
| |