lkml.org 
[lkml]   [2020]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v5 10/12] mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting
From
Date
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


\
 
 \ /
  Last update: 2020-02-10 18:11    [W:0.070 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site