Re: [PATCH v2 1/2] mm/page_alloc: Do not calculate node's total pages and memmap pages when empty

From: David Hildenbrand
Date: Wed Jun 22 2022 - 06:49:43 EST


On 22.06.22 10:54, Muchun Song wrote:
> On Wed, Jun 22, 2022 at 10:31:12AM +0200, David Hildenbrand wrote:
>> On 22.06.22 05:56, Muchun Song wrote:
>>> On Wed, Jun 22, 2022 at 05:47:22AM +0200, Oscar Salvador wrote:
>>>> On Tue, Jun 21, 2022 at 09:44:47AM +0200, David Hildenbrand wrote:
>>>>>
>>>>>
>>>>> It's worth noting that the check in pgdat_is_empty() is slightly
>>>>> different. I *think* it doesn't matter in practice, yet I wonder if we
>>>>> should simply fixup (currently unused) pgdat_is_empty().
>>>>
>>>> I guess we could change it to
>>>>
>>>> static inline bool pgdat_is_empty(pg_data_t *pgdat)
>>>> {
>>>> return node_start_pfn(pgdat->node_id) == node_end_pfn(pgdat->node_id)
>>>> }
>>>>
>>>> ? And maybe even rename it to to node_is_empty (not sure why but I tend to like
>>>
>>> At least I like this name (node_is_empty) as well.
>>>
>>
>> Let's try keeping it consistent. I think node_is_empty() might indicate
>> that we're punching in a node id instead of a pgdat.
>>
>
> I suspect Oscar will change the argument to "nid" as well, like:
>
> static inline bool node_is_empty(int nid)
> {
> return node_start_pfn(nid) == node_end_pfn(nid);
> }
>
> Does this look good?

Then we have to lookup the pgdat multiple times for (IMHO) no real
compelling reason.


--
Thanks,

David / dhildenb