From: Andrew Morton <akpm@linux-foundation.org>
To: Peter Xu <peterx@redhat.com>
Cc: Yang Shi <yang@os.amperecomputing.com>,
yangge1116@126.com, david@redhat.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [v2 PATCH] mm: gup: do not call try_grab_folio() in slow path
Date: Thu, 27 Jun 2024 16:32:42 -0700 [thread overview]
Message-ID: <20240627163242.39b0a716bd950a895c032136@linux-foundation.org> (raw)
In-Reply-To: <Zn3zjKnKIZjCXGrU@x1n>
On Thu, 27 Jun 2024 19:19:40 -0400 Peter Xu <peterx@redhat.com> wrote:
> Yang,
>
> On Thu, Jun 27, 2024 at 03:14:13PM -0700, Yang Shi wrote:
> > The try_grab_folio() is supposed to be used in fast path and it elevates
> > folio refcount by using add ref unless zero. We are guaranteed to have
> > at least one stable reference in slow path, so the simple atomic add
> > could be used. The performance difference should be trivial, but the
> > misuse may be confusing and misleading.
>
> This first paragraph is IMHO misleading itself..
>
> I think we should mention upfront the important bit, on the user impact.
>
> Here IMO the user impact should be: Linux may fail longterm pin in some
> releavnt paths when applied over CMA reserved blocks. And if to extend a
> bit, that include not only slow-gup but also the new memfd pinning, because
> both of them used try_grab_folio() which used to be only for fast-gup.
It's still unclear how users will be affected. What do the *users*
see? If it's a slight slowdown, do we need to backport this at all?
>
> The patch itself looks mostly ok to me.
>
> There's still some "cleanup" part mangled together, e.g., the real meat
> should be avoiding the folio_is_longterm_pinnable() check in relevant
> paths. The rest (e.g. switch slow-gup / memfd pin to use folio_ref_add()
> not try_get_folio(), and renames) could be good cleanups.
>
> So a smaller fix might be doable, but again I don't have a strong opinion
> here.
The smaller the better for backporting, of course.
next prev parent reply other threads:[~2024-06-27 23:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 22:14 [v2 PATCH] mm: gup: do not call try_grab_folio() in slow path Yang Shi
2024-06-27 22:54 ` Andrew Morton
2024-06-27 23:02 ` Yang Shi
2024-06-27 23:19 ` Peter Xu
2024-06-27 23:32 ` Andrew Morton [this message]
2024-06-27 23:39 ` Yang Shi
2024-06-27 23:43 ` Peter Xu
2024-06-28 1:25 ` Ge Yang
2024-06-28 6:09 ` Ge Yang
2024-06-28 6:35 ` Christoph Hellwig
2024-06-28 18:27 ` Yang Shi
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=20240627163242.39b0a716bd950a895c032136@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=peterx@redhat.com \
--cc=stable@vger.kernel.org \
--cc=yang@os.amperecomputing.com \
--cc=yangge1116@126.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.