lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5111AC7D.9070505@cn.fujitsu.com>
Date:	Wed, 06 Feb 2013 09:06:05 +0800
From:	Zhang Yanfei <zhangyanfei@...fujitsu.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
CC:	Johannes Weiner <hannes@...xchg.org>,
	Zhang Yanfei <zhangyanfei.yes@...il.com>,
	Linux MM <linux-mm@...ck.org>, mgorman@...e.de,
	minchan@...nel.org, kamezawa.hiroyu@...fujitsu.com,
	m.szyprowski@...sung.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/3] mm: rename confusing function names

于 2013年02月06日 06:13, Andrew Morton 写道:
> On Tue, 5 Feb 2013 14:26:40 -0500
> Johannes Weiner <hannes@...xchg.org> 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ