Re: [PATCH 0/3] mm: rename confusing function names

From: Zhang Yanfei
Date: Tue Feb 05 2013 - 20:11:04 EST


ä 2013å02æ06æ 06:13, Andrew Morton åé:
> On Tue, 5 Feb 2013 14:26:40 -0500
> Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
>
>> On Wed, Feb 06, 2013 at 01:09:55AM +0800, Zhang Yanfei wrote:
>>> Function nr_free_zone_pages, nr_free_buffer_pages and nr_free_pagecache_pages
>>> are horribly badly named, they count present_pages - pages_high within zones
>>> instead of free pages, so why not rename them to reasonable names, not cofusing
>>> people.
>>>
>>> patch2 and patch3 are based on patch1. So please apply patch1 first.
>>>
>>> Zhang Yanfei (3):
>>> mm: rename nr_free_zone_pages to nr_free_zone_high_pages
>>> mm: rename nr_free_buffer_pages to nr_free_buffer_high_pages
>>> mm: rename nr_free_pagecache_pages to nr_free_pagecache_high_pages
>>
>> I don't feel that this is an improvement.
>>
>> As you said, the "free" is already misleading, because those pages
>> might all be allocated. "High" makes me think not just of highmem,
>> but drug abuse in general.
>>
>> nr_available_*_pages? I don't know, but if we go through with all
>> that churn, it had better improve something.
>
> Yes, those names are ghastly.
>
> Here's an idea: accurately document the functions with code comments.
> Once this is done, that documentation may well suggest a good name ;)
>

As Johannes said, free is already misleading, so I think we should
rename "free" at first. to "available"? I think it is ok.

"high" here means those pages are above high watermark of a zone,
not highmem or something else.

So could I rename the functions to the names like
nr_available_buffer_high_pages
And accurately document them with code comments just as you suggested.

is this ok?

>
> While we're there, please note that nr_free_buffer_pages() has a *lot*
> of callers. Generally it's code which is trying to work out what is an
> appropriate size for preallocated caching space, lookup tables, etc.
>
> That's a rather hopeless objective, given memory hotplug, mlock, etc.
> But please do take a look at *why* these callers are calling
> nr_free_buffer_pages() and let's ensure that both the implementation
> and name are appropriate to their requirements.

Yeah, it does have a lot callers and I think some of the callers are
misusing the function from the comments. They always want to call the
function to get lowmem pages.

Thanks
Zhang Yanfei


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/