From: john.hubbard@gmail.com To: Andrew Morton <akpm@linux-foundation.org> Cc: "Alexander Viro" <viro@zeniv.linux.org.uk>, "Björn Töpel" <bjorn.topel@intel.com>, "Boaz Harrosh" <boaz@plexistor.com>, "Christoph Hellwig" <hch@lst.de>, "Daniel Vetter" <daniel@ffwll.ch>, "Dan Williams" <dan.j.williams@intel.com>, "Dave Chinner" <david@fromorbit.com>, "David Airlie" <airlied@linux.ie>, "David S . Miller" <davem@davemloft.net>, "Ilya Dryomov" <idryomov@gmail.com>, "Jan Kara" <jack@suse.cz>, "Jason Gunthorpe" <jgg@ziepe.ca>, "Jens Axboe" <axboe@kernel.dk>, "Jérôme Glisse" <jglisse@redhat.com>, "Johannes Thumshirn" <jthumshirn@suse.de>, "Magnus Karlsson" <magnus.karlsson@intel.com>, "Matthew Wilcox" <willy@infradead.org>, "Miklos Szeredi" <miklos@szeredi.hu>, "Ming Lei" <ming.lei@redhat.com>, "Sage Weil" <sage@redhat.com>, "Santosh Shilimkar" <santosh.shilimkar@oracle.com>, "Yan Zheng" <zyan@redhat.com>, netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, "John Hubbard" <jhubbard@nvidia.com> Subject: [PATCH v6 0/3] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() Date: Sun, 4 Aug 2019 14:40:39 -0700 [thread overview] Message-ID: <20190804214042.4564-1-jhubbard@nvidia.com> (raw) From: John Hubbard <jhubbard@nvidia.com> Changes since v5: * Patch #1: Fixed a bug that I introduced in v4: drivers/infiniband/sw/siw/siw_mem.c needs to refer to umem->page_chunk[i].plist, rather than umem->page_chunk[i]. Changes since v4: * Christophe Hellwig's review applied: deleted siw_free_plist() and __qib_release_user_pages(), now that put_user_pages_dirty_lock() does what those routines were doing. * Applied Bjorn's ACK for net/xdp, and Christophe's Reviewed-by for patch #1. Changes since v3: * Fixed an unused variable warning in siw_mem.c Changes since v2: * Critical bug fix: remove a stray "break;" from the new routine. Changes since v1: * Instead of providing __put_user_pages(), add an argument to put_user_pages_dirty_lock(), and delete put_user_pages_dirty(). This is based on the following points: 1. Lots of call sites become simpler if a bool is passed into put_user_page*(), instead of making the call site choose which put_user_page*() variant to call. 2. Christoph Hellwig's observation that set_page_dirty_lock() is usually correct, and set_page_dirty() is usually a bug, or at least questionable, within a put_user_page*() calling chain. * Added the Infiniband driver back to the patch series, because it is a caller of put_user_pages_dirty_lock(). Unchanged parts from the v1 cover letter (except for the diffstat): Notes about the remaining patches to come: There are about 50+ patches in my tree [2], and I'll be sending out the remaining ones in a few more groups: * The block/bio related changes (Jerome mostly wrote those, but I've had to move stuff around extensively, and add a little code) * mm/ changes * other subsystem patches * an RFC that shows the current state of the tracking patch set. That can only be applied after all call sites are converted, but it's good to get an early look at it. This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions"). John Hubbard (3): mm/gup: add make_dirty arg to put_user_pages_dirty_lock() drivers/gpu/drm/via: convert put_page() to put_user_page*() net/xdp: convert put_page() to put_user_page*() drivers/gpu/drm/via/via_dmablit.c | 10 +- drivers/infiniband/core/umem.c | 5 +- drivers/infiniband/hw/hfi1/user_pages.c | 5 +- drivers/infiniband/hw/qib/qib_user_pages.c | 13 +-- drivers/infiniband/hw/usnic/usnic_uiom.c | 5 +- drivers/infiniband/sw/siw/siw_mem.c | 19 +--- include/linux/mm.h | 5 +- mm/gup.c | 115 +++++++++------------ net/xdp/xdp_umem.c | 9 +- 9 files changed, 64 insertions(+), 122 deletions(-) -- 2.22.0
WARNING: multiple messages have this Message-ID (diff)
From: john.hubbard@gmail.com To: Andrew Morton <akpm@linux-foundation.org> Cc: "Alexander Viro" <viro@zeniv.linux.org.uk>, "Björn Töpel" <bjorn.topel@intel.com>, "Boaz Harrosh" <boaz@plexistor.com>, "Christoph Hellwig" <hch@lst.de>, "Daniel Vetter" <daniel@ffwll.ch>, "Dan Williams" <dan.j.williams@intel.com>, "Dave Chinner" <david@fromorbit.com>, "David Airlie" <airlied@linux.ie>, "David S . Miller" <davem@davemloft.net>, "Ilya Dryomov" <idryomov@gmail.com>, "Jan Kara" <jack@suse.cz>, "Jason Gunthorpe" <jgg@ziepe.ca>, "Jens Axboe" <axboe@kernel.dk>, "Jérôme Glisse" <jglisse@redhat.com>, "Johannes Thumshirn" <jthumshirn@suse.de>, "Magnus Karlsson" <magnus.karlsson@intel.com>, "Matthew Wilcox" <willy@infradead.org>, "Miklos Szeredi" <miklos@szeredi.hu>, "Ming Lei" <ming.lei@redhat.com>, "Sage Weil" <sage@redhat.com> Subject: [PATCH v6 0/3] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() Date: Sun, 4 Aug 2019 14:40:39 -0700 [thread overview] Message-ID: <20190804214042.4564-1-jhubbard@nvidia.com> (raw) From: John Hubbard <jhubbard@nvidia.com> Changes since v5: * Patch #1: Fixed a bug that I introduced in v4: drivers/infiniband/sw/siw/siw_mem.c needs to refer to umem->page_chunk[i].plist, rather than umem->page_chunk[i]. Changes since v4: * Christophe Hellwig's review applied: deleted siw_free_plist() and __qib_release_user_pages(), now that put_user_pages_dirty_lock() does what those routines were doing. * Applied Bjorn's ACK for net/xdp, and Christophe's Reviewed-by for patch #1. Changes since v3: * Fixed an unused variable warning in siw_mem.c Changes since v2: * Critical bug fix: remove a stray "break;" from the new routine. Changes since v1: * Instead of providing __put_user_pages(), add an argument to put_user_pages_dirty_lock(), and delete put_user_pages_dirty(). This is based on the following points: 1. Lots of call sites become simpler if a bool is passed into put_user_page*(), instead of making the call site choose which put_user_page*() variant to call. 2. Christoph Hellwig's observation that set_page_dirty_lock() is usually correct, and set_page_dirty() is usually a bug, or at least questionable, within a put_user_page*() calling chain. * Added the Infiniband driver back to the patch series, because it is a caller of put_user_pages_dirty_lock(). Unchanged parts from the v1 cover letter (except for the diffstat): Notes about the remaining patches to come: There are about 50+ patches in my tree [2], and I'll be sending out the remaining ones in a few more groups: * The block/bio related changes (Jerome mostly wrote those, but I've had to move stuff around extensively, and add a little code) * mm/ changes * other subsystem patches * an RFC that shows the current state of the tracking patch set. That can only be applied after all call sites are converted, but it's good to get an early look at it. This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions"). John Hubbard (3): mm/gup: add make_dirty arg to put_user_pages_dirty_lock() drivers/gpu/drm/via: convert put_page() to put_user_page*() net/xdp: convert put_page() to put_user_page*() drivers/gpu/drm/via/via_dmablit.c | 10 +- drivers/infiniband/core/umem.c | 5 +- drivers/infiniband/hw/hfi1/user_pages.c | 5 +- drivers/infiniband/hw/qib/qib_user_pages.c | 13 +-- drivers/infiniband/hw/usnic/usnic_uiom.c | 5 +- drivers/infiniband/sw/siw/siw_mem.c | 19 +--- include/linux/mm.h | 5 +- mm/gup.c | 115 +++++++++------------ net/xdp/xdp_umem.c | 9 +- 9 files changed, 64 insertions(+), 122 deletions(-) -- 2.22.0
next reply other threads:[~2019-08-04 21:40 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-04 21:40 john.hubbard [this message] 2019-08-04 21:40 ` [PATCH v6 0/3] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() john.hubbard 2019-08-04 21:40 ` [PATCH v6 1/3] " john.hubbard 2019-08-04 21:40 ` john.hubbard 2019-08-06 17:40 ` Ira Weiny 2019-08-06 17:40 ` Ira Weiny 2019-08-06 20:43 ` John Hubbard 2019-08-06 20:43 ` John Hubbard 2019-08-04 21:40 ` [PATCH v6 2/3] drivers/gpu/drm/via: convert put_page() to put_user_page*() john.hubbard 2019-08-04 21:40 ` john.hubbard 2019-08-04 21:40 ` [PATCH v6 3/3] net/xdp: " john.hubbard 2019-08-04 21:40 ` 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=20190804214042.4564-1-jhubbard@nvidia.com \ --to=john.hubbard@gmail.com \ --cc=airlied@linux.ie \ --cc=akpm@linux-foundation.org \ --cc=axboe@kernel.dk \ --cc=bjorn.topel@intel.com \ --cc=boaz@plexistor.com \ --cc=bpf@vger.kernel.org \ --cc=dan.j.williams@intel.com \ --cc=daniel@ffwll.ch \ --cc=davem@davemloft.net \ --cc=david@fromorbit.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=hch@lst.de \ --cc=idryomov@gmail.com \ --cc=jack@suse.cz \ --cc=jgg@ziepe.ca \ --cc=jglisse@redhat.com \ --cc=jhubbard@nvidia.com \ --cc=jthumshirn@suse.de \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-rdma@vger.kernel.org \ --cc=magnus.karlsson@intel.com \ --cc=miklos@szeredi.hu \ --cc=ming.lei@redhat.com \ --cc=netdev@vger.kernel.org \ --cc=sage@redhat.com \ --cc=santosh.shilimkar@oracle.com \ --cc=viro@zeniv.linux.org.uk \ --cc=willy@infradead.org \ --cc=zyan@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: linkBe 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.