Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1366999

Re: [PATCH v2 2/2] mm: rename _count, field of the struct page, to _refcount

From Vlastimil Babka <vbabka@suse.cz>
Newsgroups linux.kernel
Subject Re: [PATCH v2 2/2] mm: rename _count, field of the struct page, to _refcount
Date 2016-03-30 10:30 +0200
Message-ID <rijFM-2CP-11@gated-at.bofh.it> (permalink)
References <rhz0e-36r-5@gated-at.bofh.it> <rhz0e-36r-3@gated-at.bofh.it> <rhY8i-3VB-19@gated-at.bofh.it> <ri7uW-2lB-5@gated-at.bofh.it> <rijFM-2CP-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 03/30/2016 10:27 AM, Joonsoo Kim wrote:
> 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@suse.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@linux-foundation.org>
>> Subject: mm-rename-_count-field-of-the-struct-page-to-_refcount-fix
>>
>> fix comments, per Vlastimil
>
> Andrew and Vlastimil, great thanks!

Thanks, Andrew.

That leaves just Documentation/vm/transhuge.txt to you, Joonsoo :)

> Thanks.
>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 2/2] mm: rename _count, field of the struct page, to _refcount js1304@gmail.com - 2016-03-28 08:40 +0200
  Re: [PATCH v2 2/2] mm: rename _count, field of the struct page, to  _refcount Vlastimil Babka <vbabka@suse.cz> - 2016-03-29 11:30 +0200
    Re: [PATCH v2 2/2] mm: rename _count, field of the struct page, to  _refcount Andrew Morton <akpm@linux-foundation.org> - 2016-03-29 21:30 +0200
      Re: [PATCH v2 2/2] mm: rename _count, field of the struct page, to  _refcount Vlastimil Babka <vbabka@suse.cz> - 2016-03-30 10:30 +0200
      Re: [PATCH v2 2/2] mm: rename _count, field of the struct page, to  _refcount Joonsoo Kim <iamjoonsoo.kim@lge.com> - 2016-03-30 10:30 +0200

csiph-web