On 9/10/18 7:43 PM, Alexander Duyck wrote: > From: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> > > It doesn't make much sense to use the atomic SetPageReserved at init time > when we are using memset to clear the memory and manipulating the page > flags via simple "&=" and "|=" operations in __init_single_page. > > This patch adds a non-atomic version __SetPageReserved that can be used > during page init and shows about a 10% improvement in initialization times > on the systems I have available for testing. On those systems I saw > initialization times drop from around 35 seconds to around 32 seconds to > initialize a 3TB block of persistent memory. > > I tried adding a bit of documentation based on commit <f1dd2cd13c4> ("mm, > memory_hotplug: do not associate hotadded memory to zones until online"). > > Ideally the reserved flag should be set earlier since there is a brief > window where the page is initialization via __init_single_page and we have > not set the PG_Reserved flag. I'm leaving that for a future patch set as > that will require a more significant refactor. > > Acked-by: Michal Hocko <mhocko@xxxxxxxx> > Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Reviewed-by: Pavel Tatashin <pavel.tatashin@xxxxxxxxxxxxx> Thank you, Pavel