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]
Date:	Wed, 30 Mar 2016 17:27:02 +0900
From:	Joonsoo Kim <iamjoonsoo.kim@....com>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	Vlastimil Babka <vbabka@...e.cz>, Hugh Dickins <hughd@...gle.com>,
	Johannes Berg <johannes@...solutions.net>,
	"David S. Miller" <davem@...emloft.net>,
	Sunil Goutham <sgoutham@...ium.com>,
	Chris Metcalf <cmetcalf@...lanox.com>, linux-mm@...ck.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] mm: rename _count, field of the struct page, to
 _refcount

On Tue, Mar 29, 2016 at 12:23:13PM -0700, Andrew Morton wrote:
> On Tue, 29 Mar 2016 11:27:47 +0200 Vlastimil Babka <vbabka@...e.cz> wrote:
> 
> > > v2: change more _count usages to _refcount
> > 
> > There's also
> > Documentation/vm/transhuge.txt talking about ->_count
> > include/linux/mm.h:      * requires to already have an elevated page->_count.
> > include/linux/mm_types.h:                        * Keep _count separate from slub cmpxchg_double data.
> > include/linux/mm_types.h:                        * slab_lock but _count is not.
> > include/linux/pagemap.h: * If the page is free (_count == 0), then _count is untouched, and 0
> > include/linux/pagemap.h: * is returned. Otherwise, _count is incremented by 1 and 1 is returned.
> > include/linux/pagemap.h: * this allows allocators to use a synchronize_rcu() to stabilize _count.
> > include/linux/pagemap.h: * Remove-side that cares about stability of _count (eg. reclaim) has the
> > mm/huge_memory.c:        * tail_page->_count is zero and not changing from under us. But
> > mm/huge_memory.c:       /* Prevent deferred_split_scan() touching ->_count */
> > mm/internal.h: * Turn a non-refcounted page (->_count == 0) into refcounted with
> > mm/page_alloc.c:                bad_reason = "nonzero _count";
> > mm/page_alloc.c:                bad_reason = "nonzero _count";
> > mm/page_alloc.c:                 * because their page->_count is zero at all time.
> > mm/slub.c:       * as page->_count.  If we assign to ->counters directly
> > mm/slub.c:       * we run the risk of losing updates to page->_count, so
> > mm/vmscan.c:     * load is not satisfied before that of page->_count.
> > mm/vmscan.c: * The downside is that we have to touch page->_count against each page.
> > 
> > I've arrived at the following command to find this:
> > git grep "[^a-zA-Z0-9_]_count[^_]"
> > 
> > Not that many false positives in the output :)
> 
> 
> From: Andrew Morton <akpm@...ux-foundation.org>
> Subject: mm-rename-_count-field-of-the-struct-page-to-_refcount-fix
> 
> fix comments, per Vlastimil

Andrew and Vlastimil, great thanks!

Thanks.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ