[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2c38b1f8-4e60-39f8-66c7-c0bbdb9df3cc@suse.cz>
Date: Fri, 18 Sep 2020 11:37:47 +0200
From: Vlastimil Babka <vbabka@...e.cz>
To: Oscar Salvador <osalvador@...e.de>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Michal Hocko <mhocko@...nel.org>,
Pavel Tatashin <pasha.tatashin@...een.com>,
David Hildenbrand <david@...hat.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>
Subject: Re: [RFC 3/5] mm, page_alloc(): remove setup_pageset()
On 9/10/20 11:23 AM, Oscar Salvador wrote:
> 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@...e.cz>
>
> Reviewed-by: Oscar Salvador <osalvador@...e.de>
Thanks!
> 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?
Sure. We just initialized all the list heads, so there can be no concurrent
access at this point. But I'll mention it in the comment.
Powered by blists - more mailing lists