Re: [PATCH 4/6] mm/page_alloc: Scale the number of pages that are batch freed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxx>
> Acked-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux