All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Hubbard <jhubbard@nvidia.com>
To: Jan Kara <jack@suse.cz>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
	"Al Viro" <viro@zeniv.linux.org.uk>,
	"Christoph Hellwig" <hch@infradead.org>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Dave Chinner" <david@fromorbit.com>,
	"Ira Weiny" <ira.weiny@intel.com>,
	"Jason Gunthorpe" <jgg@ziepe.ca>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	"Kirill A . Shutemov" <kirill@shutemov.name>,
	"Michal Hocko" <mhocko@suse.com>,
	"Mike Kravetz" <mike.kravetz@oracle.com>,
	"Shuah Khan" <shuah@kernel.org>,
	"Vlastimil Babka" <vbabka@suse.cz>,
	"Matthew Wilcox" <willy@infradead.org>,
	linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-kselftest@vger.kernel.org, linux-rdma@vger.kernel.org,
	linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 10/12] mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting
Date: Mon, 10 Feb 2020 09:07:07 -0800	[thread overview]
Message-ID: <7fcc15f4-e548-78bc-788d-f93293a1be74@nvidia.com> (raw)
In-Reply-To: <20200210101629.GC12923@quack2.suse.cz>

On 2/10/20 2:16 AM, Jan Kara wrote:
> On Thu 06-02-20 19:37:33, John Hubbard wrote:
>> @@ -2258,6 +2268,8 @@ static int record_subpages(struct page *page, unsigned long addr,
>>   
>>   static void put_compound_head(struct page *page, int refs, unsigned int flags)
>>   {
>> +	int orig_refs = refs;
>> +
>>   	if (flags & FOLL_PIN) {
>>   		if (hpage_pincount_available(page))
>>   			hpage_pincount_sub(page, refs);
>> @@ -2273,6 +2285,8 @@ static void put_compound_head(struct page *page, int refs, unsigned int flags)
>>   	if (refs > 1)
>>   		page_ref_sub(page, refs - 1);
>>   	put_page(page);
>> +
>> +	mod_node_page_state(page_pgdat(page), NR_FOLL_PIN_RELEASED, orig_refs);
>>   }
> 
> Still not quite happy about this :) Now you update NR_FOLL_PIN_RELEASED
> even if 'flags' don't have FOLL_PIN set. You need to have the
> mod_node_page_state() inside the "if (flags & FOLL_PIN)" branch above...
> 
> 									Honza

Arggh, yes that's true. Thanks for catching that, will fix in v6.


thanks,
-- 
John Hubbard
NVIDIA
  

  reply	other threads:[~2020-02-10 17:10 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-07  3:37 [PATCH v5 00/12] mm/gup: track FOLL_PIN pages John Hubbard
2020-02-07  3:37 ` [PATCH v5 01/12] mm: dump_page(): better diagnostics for compound pages John Hubbard
2020-02-07 17:27   ` Matthew Wilcox
2020-02-07 21:05     ` John Hubbard
2020-02-07 21:14       ` John Hubbard
2020-02-07  3:37 ` [PATCH v5 02/12] mm/gup: split get_user_pages_remote() into two routines John Hubbard
2020-02-07  3:37 ` [PATCH v5 03/12] mm/gup: pass a flags arg to __gup_device_* functions John Hubbard
2020-02-07  3:37 ` [PATCH v5 04/12] mm: introduce page_ref_sub_return() John Hubbard
2020-02-07 13:18   ` Kirill A. Shutemov
2020-02-07  3:37 ` [PATCH v5 05/12] mm/gup: pass gup flags to two more routines John Hubbard
2020-02-07  3:37 ` [PATCH v5 06/12] mm/gup: require FOLL_GET for get_user_pages_fast() John Hubbard
2020-02-07  3:37 ` [PATCH v5 07/12] mm/gup: track FOLL_PIN pages John Hubbard
2020-02-07  3:37 ` [PATCH v5 08/12] mm/gup: page->hpage_pinned_refcount: exact pin counts for huge pages John Hubbard
2020-02-07  3:37 ` [PATCH v5 09/12] mm: dump_page(): better diagnostics for huge pinned pages John Hubbard
2020-02-07  3:37 ` [PATCH v5 10/12] mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting John Hubbard
2020-02-07 13:19   ` Kirill A. Shutemov
2020-02-10 10:16   ` Jan Kara
2020-02-10 17:07     ` John Hubbard [this message]
2020-02-07  3:37 ` [PATCH v5 11/12] mm/gup_benchmark: support pin_user_pages() and related calls John Hubbard
2020-02-07  3:37 ` [PATCH v5 12/12] selftests/vm: run_vmtests: invoke gup_benchmark with basic FOLL_PIN coverage John Hubbard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7fcc15f4-e548-78bc-788d-f93293a1be74@nvidia.com \
    --to=jhubbard@nvidia.com \
    --cc=akpm@linux-foundation.org \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=david@fromorbit.com \
    --cc=hch@infradead.org \
    --cc=ira.weiny@intel.com \
    --cc=jack@suse.cz \
    --cc=jgg@ziepe.ca \
    --cc=jglisse@redhat.com \
    --cc=kirill@shutemov.name \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mhocko@suse.com \
    --cc=mike.kravetz@oracle.com \
    --cc=shuah@kernel.org \
    --cc=vbabka@suse.cz \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.