From: Jerome Glisse <jglisse@redhat.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>,
linux-kernel@vger.kernel.org, Linux MM <linux-mm@kvack.org>,
Ingo Molnar <mingo@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Logan Gunthorpe <logang@deltatee.com>,
Kirill Shutemov <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH v2] mm, zone_device: replace {get, put}_zone_device_page() with a single reference
Date: Fri, 28 Apr 2017 14:00:06 -0400 (EDT) [thread overview]
Message-ID: <1579714997.4315035.1493402406629.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <CAPcyv4jCfMwthPwbE-iuvef1KkMYUtA=qAydgfJzH0_otXoAOg@mail.gmail.com>
> On Fri, Apr 28, 2017 at 10:34 AM, Jerome Glisse <jglisse@redhat.com> wrote:
> >> Kirill points out that the calls to {get,put}_dev_pagemap() can be
> >> removed from the mm fast path if we take a single get_dev_pagemap()
> >> reference to signify that the page is alive and use the final put of the
> >> page to drop that reference.
> >>
> >> This does require some care to make sure that any waits for the
> >> percpu_ref to drop to zero occur *after* devm_memremap_page_release(),
> >> since it now maintains its own elevated reference.
> >
> > This is NAK from HMM point of view as i need those call. So if you remove
> > them now i will need to add them back as part of HMM.
>
> I thought you only need them at page free time? You can still hook
> __put_page().
No, i need a hook when page refcount reach 1, not 0. That being said
i don't care about put_dev_pagemap(page->pgmap); so that part of the
patch is fine from HMM point of view but i definitly need to hook my-
self in the general put_page() function.
So i will have to undo part of this patch for HMM (put_page() will
need to handle ZONE_DEVICE page differently).
Cheers,
Jérôme
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Jerome Glisse <jglisse@redhat.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>,
linux-kernel@vger.kernel.org, Linux MM <linux-mm@kvack.org>,
Ingo Molnar <mingo@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Logan Gunthorpe <logang@deltatee.com>,
Kirill Shutemov <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH v2] mm, zone_device: replace {get, put}_zone_device_page() with a single reference
Date: Fri, 28 Apr 2017 14:00:06 -0400 (EDT) [thread overview]
Message-ID: <1579714997.4315035.1493402406629.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <CAPcyv4jCfMwthPwbE-iuvef1KkMYUtA=qAydgfJzH0_otXoAOg@mail.gmail.com>
> On Fri, Apr 28, 2017 at 10:34 AM, Jerome Glisse <jglisse@redhat.com> wrote:
> >> Kirill points out that the calls to {get,put}_dev_pagemap() can be
> >> removed from the mm fast path if we take a single get_dev_pagemap()
> >> reference to signify that the page is alive and use the final put of the
> >> page to drop that reference.
> >>
> >> This does require some care to make sure that any waits for the
> >> percpu_ref to drop to zero occur *after* devm_memremap_page_release(),
> >> since it now maintains its own elevated reference.
> >
> > This is NAK from HMM point of view as i need those call. So if you remove
> > them now i will need to add them back as part of HMM.
>
> I thought you only need them at page free time? You can still hook
> __put_page().
No, i need a hook when page refcount reach 1, not 0. That being said
i don't care about put_dev_pagemap(page->pgmap); so that part of the
patch is fine from HMM point of view but i definitly need to hook my-
self in the general put_page() function.
So i will have to undo part of this patch for HMM (put_page() will
need to handle ZONE_DEVICE page differently).
Cheers,
Jérôme
next prev parent reply other threads:[~2017-04-28 18:00 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-20 21:46 [tip:x86/mm] x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation Dan Williams
2017-04-21 14:16 ` Kirill A. Shutemov
2017-04-21 19:30 ` Dan Williams
2017-04-23 9:52 ` [PATCH] Revert "x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation" Ingo Molnar
2017-04-23 23:31 ` get_zone_device_page() in get_page() and page_cache_get_speculative() Kirill A. Shutemov
2017-04-23 23:31 ` Kirill A. Shutemov
2017-04-24 17:23 ` Dan Williams
2017-04-24 17:23 ` Dan Williams
2017-04-24 17:30 ` Kirill A. Shutemov
2017-04-24 17:30 ` Kirill A. Shutemov
2017-04-24 17:47 ` Dan Williams
2017-04-24 17:47 ` Dan Williams
2017-04-24 18:01 ` Kirill A. Shutemov
2017-04-24 18:01 ` Kirill A. Shutemov
2017-04-24 18:25 ` Kirill A. Shutemov
2017-04-24 18:25 ` Kirill A. Shutemov
2017-04-24 18:41 ` Dan Williams
2017-04-24 18:41 ` Dan Williams
2017-04-25 13:19 ` Kirill A. Shutemov
2017-04-25 13:19 ` Kirill A. Shutemov
2017-04-25 16:44 ` Dan Williams
2017-04-25 16:44 ` Dan Williams
2017-04-27 0:55 ` [PATCH] mm, zone_device: replace {get, put}_zone_device_page() with a single reference Dan Williams
2017-04-27 0:55 ` Dan Williams
2017-04-27 8:33 ` Kirill A. Shutemov
2017-04-27 8:33 ` Kirill A. Shutemov
2017-04-28 6:39 ` Ingo Molnar
2017-04-28 6:39 ` Ingo Molnar
2017-04-28 8:14 ` [PATCH] mm, zone_device: Replace " Kirill A. Shutemov
2017-04-28 8:14 ` Kirill A. Shutemov
2017-04-28 17:23 ` [PATCH v2] mm, zone_device: replace " Dan Williams
2017-04-28 17:23 ` Dan Williams
2017-04-28 17:34 ` Jerome Glisse
2017-04-28 17:34 ` Jerome Glisse
2017-04-28 17:41 ` Dan Williams
2017-04-28 17:41 ` Dan Williams
2017-04-28 18:00 ` Jerome Glisse [this message]
2017-04-28 18:00 ` Jerome Glisse
2017-04-28 19:02 ` Dan Williams
2017-04-28 19:02 ` Dan Williams
2017-04-28 19:16 ` Jerome Glisse
2017-04-28 19:16 ` Jerome Glisse
2017-04-28 19:22 ` Dan Williams
2017-04-28 19:22 ` Dan Williams
2017-04-28 19:33 ` Jerome Glisse
2017-04-28 19:33 ` Jerome Glisse
2017-04-29 10:17 ` Kirill A. Shutemov
2017-04-29 10:17 ` Kirill A. Shutemov
2017-04-30 23:14 ` Jerome Glisse
2017-04-30 23:14 ` Jerome Glisse
2017-05-01 1:42 ` Dan Williams
2017-05-01 1:42 ` Dan Williams
2017-05-01 1:54 ` Jerome Glisse
2017-05-01 1:54 ` Jerome Glisse
2017-05-01 2:40 ` Dan Williams
2017-05-01 2:40 ` Dan Williams
2017-05-01 3:48 ` Logan Gunthorpe
2017-05-01 3:48 ` Logan Gunthorpe
2017-05-01 10:23 ` Kirill A. Shutemov
2017-05-01 10:23 ` Kirill A. Shutemov
2017-05-01 13:55 ` Jerome Glisse
2017-05-01 13:55 ` Jerome Glisse
2017-05-01 20:19 ` Dan Williams
2017-05-01 20:19 ` Dan Williams
2017-05-01 20:32 ` Jerome Glisse
2017-05-01 20:32 ` Jerome Glisse
2017-05-02 11:37 ` Kirill A. Shutemov
2017-05-02 11:37 ` Kirill A. Shutemov
2017-05-02 13:22 ` Jerome Glisse
2017-05-02 13:22 ` Jerome Glisse
2017-04-29 14:18 ` Ingo Molnar
2017-04-29 14:18 ` Ingo Molnar
2017-05-01 2:45 ` Dan Williams
2017-05-01 2:45 ` Dan Williams
2017-05-01 7:12 ` Ingo Molnar
2017-05-01 7:12 ` Ingo Molnar
2017-05-01 9:33 ` Kirill A. Shutemov
2017-05-01 9:33 ` Kirill A. Shutemov
2017-05-01 8:28 ` [tip:x86/mm] mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash tip-bot for Dan Williams
2017-04-27 16:11 ` [PATCH] mm, zone_device: replace {get, put}_zone_device_page() with a single reference Logan Gunthorpe
2017-04-27 16:11 ` Logan Gunthorpe
2017-04-27 16:14 ` Dan Williams
2017-04-27 16:14 ` Dan Williams
2017-04-27 16:33 ` Logan Gunthorpe
2017-04-27 16:33 ` Logan Gunthorpe
2017-04-27 16:38 ` Dan Williams
2017-04-27 16:38 ` Dan Williams
2017-04-27 16:45 ` Logan Gunthorpe
2017-04-27 16:45 ` Logan Gunthorpe
2017-04-27 16:46 ` Dan Williams
2017-04-27 16:46 ` Dan Williams
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=1579714997.4315035.1493402406629.JavaMail.zimbra@redhat.com \
--to=jglisse@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=logang@deltatee.com \
--cc=mingo@kernel.org \
--cc=mingo@redhat.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.