Re: [RFC 0/5] disable pcplists during page isolation

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

 



On 07.09.20 18:36, Vlastimil Babka wrote:
> As per the discussions [1] [2] this is an attempt to implement David's
> suggestion that page isolation should disable pcplists to avoid races. This is
> done without extra checks in fast paths, as I mentioned should be possible in
> the discussion, and explained in patch 5. Patches 1-4 are preparatory cleanups.
> 
> Note this is untested RFC for now. Based on v5.9-rc4 plus Pavel's patch [2]
> (slated as a quick fix for mainline+stable).
> 
> [1] https://lore.kernel.org/linux-mm/20200901124615.137200-1-pasha.tatashin@xxxxxxxxxx/
> [2] https://lore.kernel.org/linux-mm/20200903140032.380431-1-pasha.tatashin@xxxxxxxxxx/
> 
> Vlastimil Babka (5):
>   mm, page_alloc: clean up pageset high and batch update
>   mm, page_alloc: calculate pageset high and batch once per zone
>   mm, page_alloc(): remove setup_pageset()
>   mm, page_alloc: cache pageset high and batch in struct zone
>   mm, page_alloc: disable pcplists during page isolation
> 
>  include/linux/gfp.h    |   1 +
>  include/linux/mmzone.h |   2 +
>  mm/internal.h          |   4 ++
>  mm/memory_hotplug.c    |  24 +++----
>  mm/page_alloc.c        | 138 ++++++++++++++++++++++-------------------
>  mm/page_isolation.c    |  45 +++++++++++---
>  6 files changed, 127 insertions(+), 87 deletions(-)
> 

Thanks for looking into this! Just a heads-up that -mm and -next contain
some changes to memory hotplug code, whereby new pageblocks start out in
MIGRATE_ISOLATE when onlining, until we're done with the heavy lifting.
Might require some tweaks, similar to when isolating pageblocks.

Will dive into this in the following days. What's you're general
perception of performance aspects?

-- 
Thanks,

David / dhildenb





[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