All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
	akpm@linuxfoundation.org
Cc: linux-mm@kvack.org, Heiko Carstens <hca@linux.ibm.com>,
	Rafael Aquini <aquini@redhat.com>,
	Vlastimil Babka <vbabka@suse.cz>, Yu Zhao <yuzhao@google.com>,
	Vladimir Davydov <vdavydov.dev@gmail.com>,
	kirill.shutemov@linux.intel.com,
	Andrea Arcangeli <aarcange@redhat.com>,
	Donald Dutile <ddutile@redhat.com>,
	Rafael Aquini <aquini@redhat.com>
Subject: Re: [PATCH] mm: Mark idle page tracking as BROKEN
Date: Tue, 15 Jun 2021 09:41:37 +0200	[thread overview]
Message-ID: <f6c50c9f-f26b-50f7-ac5f-93ffa83b95cb@redhat.com> (raw)
In-Reply-To: <20210612000714.775825-1-willy@infradead.org>

On 12.06.21 02:07, Matthew Wilcox (Oracle) wrote:

I might be missing something important, so some questions/comments

> In discussion with other MM developers around how idle page tracking
> should be fixed for transparent huge pages, several expressed the opinion
> that it should be removed as it is inefficient at accomplishing the
> job that it is supposed to, and we have better mechanisms (eg uffd) for
> accomplishing the same goals these days.

1. A link to that discussion would be nice. I am missing some important 
details in this patch description.

2. "should be fixed for transparent huge pages" -- has it always been 
like this or has the behavior changed at some point? Do the semantics, 
and how the feature is getting used, clearly identify this case that 
needs fixing as something that really has to be fixed? Or was it always 
like that and actually expected to work like that ("semtantics")?

For example, just like for softdirty tracking, an over-indication might 
be just fine. More extreme, I think idle tracking can actually deal with 
an under-indication, if it's actually used for minor performance 
improvements (just like with DAEMON). Again, this should be clarified in 
this patch description.

Because I read "This information can be useful for estimating the 
workload’s working set size, which, in turn, can be taken into account 
when configuring the workload parameters, setting memory cgroup limits, 
or deciding where to place the workload within a compute cluster." -- 
which doesn't sound like it has to be 100% correct in all of the cases.

And "Since the idle memory tracking feature is based on the memory 
reclaimer logic, it only works with pages that are on an LRU list, other 
pages are silently ignored. That means it will ignore a user memory page 
if it is isolated, but since there are usually not many of them, it 
should not affect the overall result noticeably. In order not to stall 
scanning of the idle page bitmap, locked pages may be skipped too", so 
there are already special cases to deal with.

3. I don't see how the "better mechanisms" can actually be used to 
accomplish the same goal. You state "uffd", however, I don't see a way 
to actually achieve the same goal using uffd. In MISSING mode, you would 
have to zap/discard page content to get an access notification. in WP 
mode you really cannot catch reads.

> 
> Mark the feature as BROKEN for now and we can remove it entirely in a
> few months if nobody complains.  It is not enabled by Android, ChromeOS,
> Debian, Fedora or SUSE.  Red Hat enabled it with RHEL-8.1 and UEK followed
> suit, but I have been unable to find why RHEL enabled it.

My fellow RH people tell me that we enabled in RHEL7 on customer demand 
and consequently enabled it in RHEL8.

To me it feels like we might be removing a feature that is working just 
as expected because the semantics might not be 100% clear to everybody 
involved. Of course, I might be wrong, that's why I'm asking.

I'd actually vote for documenting what's happening, just like we do for 
locked pages and !LRU pages ... unless there is really something heavily 
broken.

-- 
Thanks,

David / dhildenb



  parent reply	other threads:[~2021-06-15  7:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-12  0:07 [PATCH] mm: Mark idle page tracking as BROKEN Matthew Wilcox (Oracle)
2021-06-12  3:14 ` Yu Zhao
2021-06-14 11:08 ` Kirill A. Shutemov
2021-06-14 13:49 ` SeongJae Park
2021-06-15  2:04   ` Andrew Morton
2021-06-15  6:40     ` SeongJae Park
2021-06-15  7:41 ` David Hildenbrand [this message]
2021-06-16  2:55   ` Matthew Wilcox
2021-06-16  6:22     ` Yu Zhao
2021-06-16  8:36       ` Vlastimil Babka
2021-06-16  8:43         ` David Hildenbrand
2021-06-16 19:23           ` Yu Zhao
2021-06-18 12:48             ` David Hildenbrand

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=f6c50c9f-f26b-50f7-ac5f-93ffa83b95cb@redhat.com \
    --to=david@redhat.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linuxfoundation.org \
    --cc=aquini@redhat.com \
    --cc=ddutile@redhat.com \
    --cc=hca@linux.ibm.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-mm@kvack.org \
    --cc=vbabka@suse.cz \
    --cc=vdavydov.dev@gmail.com \
    --cc=willy@infradead.org \
    --cc=yuzhao@google.com \
    /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.