Re: [RFC 3/5] mm, page_alloc(): remove setup_pageset()

From: Oscar Salvador
Date: Thu Sep 10 2020 - 05:33:57 EST


On Mon, Sep 07, 2020 at 06:36:26PM +0200, Vlastimil Babka wrote:
> We initialize boot-time pagesets with setup_pageset(), which sets high and
> batch values that effectively disable pcplists.
>
> We can remove this wrapper if we just set these values for all pagesets in
> pageset_init(). Non-boot pagesets then subsequently update them to specific
> values.
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>

Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>

Just one question below:

> -static void setup_pageset(struct per_cpu_pageset *p)
> -{
> - pageset_init(p);
> - pageset_update(&p->pcp, 0, 1);
> + /*
> + * Set batch and high values safe for a boot pageset. Proper pageset's
> + * initialization will update them.
> + */
> + pcp->high = 0;
> + pcp->batch = 1;

pageset_update was manipulating these values with barriers in between.
I guess we do not care here because we are not really updating but
initializing them, right?

--
Oscar Salvador
SUSE L3