All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Weiny, Ira" <ira.weiny@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: "linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Dave Chinner <david@fromorbit.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	Michal Hocko <mhocko@kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
	"rds-devel@oss.oracle.com" <rds-devel@oss.oracle.com>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	Matthew Wilcox <willy@infradead.org>,
	Christoph Hellwig <hch@infradead.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 00/34] put_user_pages(): miscellaneous call sites
Date: Fri, 9 Aug 2019 17:56:20 +0000	[thread overview]
Message-ID: <2807E5FD2F6FDA4886F6618EAC48510E79E7F367@CRSMSX101.amr.corp.intel.com> (raw)
In-Reply-To: <20190809083435.GA17568@quack2.suse.cz>

> 
> On Wed 07-08-19 19:36:37, Ira Weiny wrote:
> > On Wed, Aug 07, 2019 at 10:46:49AM +0200, Michal Hocko wrote:
> > > > So I think your debug option and my suggested renaming serve a bit
> > > > different purposes (and thus both make sense). If you do the
> > > > renaming, you can just grep to see unconverted sites. Also when
> > > > someone merges new GUP user (unaware of the new rules) while you
> > > > switch GUP to use pins instead of ordinary references, you'll get
> > > > compilation error in case of renaming instead of hard to debug
> > > > refcount leak without the renaming. And such conflict is almost
> > > > bound to happen given the size of GUP patch set... Also the
> > > > renaming serves against the "coding inertia" - i.e., GUP is around for
> ages so people just use it without checking any documentation or comments.
> > > > After switching how GUP works, what used to be correct isn't
> > > > anymore so renaming the function serves as a warning that
> > > > something has really changed.
> > >
> > > Fully agreed!
> >
> > Ok Prior to this I've been basing all my work for the RDMA/FS DAX
> > stuff in Johns put_user_pages()...  (Including when I proposed failing
> > truncate with a lease in June [1])
> >
> > However, based on the suggestions in that thread it became clear that
> > a new interface was going to need to be added to pass in the "RDMA
> > file" information to GUP to associate file pins with the correct processes...
> >
> > I have many drawings on my white board with "a whole lot of lines" on
> > them to make sure that if a process opens a file, mmaps it, pins it
> > with RDMA, _closes_ it, and ummaps it; that the resulting file pin can
> > still be traced back to the RDMA context and all the processes which
> > may have access to it....  No matter where the original context may
> > have come from.  I believe I have accomplished that.
> >
> > Before I go on, I would like to say that the "imbalance" of
> > get_user_pages() and put_page() bothers me from a purist standpoint...
> > However, since this discussion cropped up I went ahead and ported my
> > work to Linus' current master
> > (5.3-rc3+) and in doing so I only had to steal a bit of Johns code...
> > Sorry John...  :-(
> >
> > I don't have the commit messages all cleaned up and I know there may
> > be some discussion on these new interfaces but I wanted to throw this
> > series out there because I think it may be what Jan and Michal are
> > driving at (or at least in that direction.
> >
> > Right now only RDMA and DAX FS's are supported.  Other users of GUP
> > will still fail on a DAX file and regular files will still be at
> > risk.[2]
> >
> > I've pushed this work (based 5.3-rc3+ (33920f1ec5bf)) here[3]:
> >
> > https://github.com/weiny2/linux-kernel/tree/linus-rdmafsdax-b0-v3
> >
> > I think the most relevant patch to this conversation is:
> >
> > https://github.com/weiny2/linux-
> kernel/commit/5d377653ba5cf11c3b716f90
> > 4b057bee6641aaf6
> >
> > I stole Jans suggestion for a name as the name I used while
> > prototyping was pretty bad...  So Thanks Jan...  ;-)
> 
> For your function, I'd choose a name like vaddr_pin_leased_pages() so that
> association with a lease is clear from the name :)

My gut was to just change this as you suggested.  But the fact is that these calls can get used on anonymous pages as well.  So the "leased" semantic may not apply...  OTOH if a file is encountered it will fail the pin...  :-/  I'm going to leave it for now and get the patches submitted to the list...

> Also I'd choose the
> counterpart to be vaddr_unpin_leased_page[s](). Especially having put_page
> in the name looks confusing to me...

Ah yes, totally agree with the "pin/unpin" symmetry.  I've changed from "put" to "unpin"...

Thanks,
Ira

> 
> 								Honza
> 
> --
> Jan Kara <jack@suse.com>
> SUSE Labs, CR
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: "Weiny, Ira" <ira.weiny@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: "Michal Hocko" <mhocko@kernel.org>,
	"John Hubbard" <jhubbard@nvidia.com>,
	"Matthew Wilcox" <willy@infradead.org>,
	"john.hubbard@gmail.com" <john.hubbard@gmail.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Christoph Hellwig" <hch@infradead.org>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"Dave Chinner" <david@fromorbit.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Jason Gunthorpe" <jgg@ziepe.ca>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>,
	"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
	"devel@lists.orangefs.org" <devel@lists.orangefs.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"linux-rpi-kernel@lists.infradead.org"
	<linux-rpi-kernel@lists.infradead.org>,
	"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"rds-devel@oss.oracle.com" <rds-devel@oss.oracle.com>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH 00/34] put_user_pages(): miscellaneous call sites
Date: Fri, 9 Aug 2019 17:56:20 +0000	[thread overview]
Message-ID: <2807E5FD2F6FDA4886F6618EAC48510E79E7F367@CRSMSX101.amr.corp.intel.com> (raw)
In-Reply-To: <20190809083435.GA17568@quack2.suse.cz>

> 
> On Wed 07-08-19 19:36:37, Ira Weiny wrote:
> > On Wed, Aug 07, 2019 at 10:46:49AM +0200, Michal Hocko wrote:
> > > > So I think your debug option and my suggested renaming serve a bit
> > > > different purposes (and thus both make sense). If you do the
> > > > renaming, you can just grep to see unconverted sites. Also when
> > > > someone merges new GUP user (unaware of the new rules) while you
> > > > switch GUP to use pins instead of ordinary references, you'll get
> > > > compilation error in case of renaming instead of hard to debug
> > > > refcount leak without the renaming. And such conflict is almost
> > > > bound to happen given the size of GUP patch set... Also the
> > > > renaming serves against the "coding inertia" - i.e., GUP is around for
> ages so people just use it without checking any documentation or comments.
> > > > After switching how GUP works, what used to be correct isn't
> > > > anymore so renaming the function serves as a warning that
> > > > something has really changed.
> > >
> > > Fully agreed!
> >
> > Ok Prior to this I've been basing all my work for the RDMA/FS DAX
> > stuff in Johns put_user_pages()...  (Including when I proposed failing
> > truncate with a lease in June [1])
> >
> > However, based on the suggestions in that thread it became clear that
> > a new interface was going to need to be added to pass in the "RDMA
> > file" information to GUP to associate file pins with the correct processes...
> >
> > I have many drawings on my white board with "a whole lot of lines" on
> > them to make sure that if a process opens a file, mmaps it, pins it
> > with RDMA, _closes_ it, and ummaps it; that the resulting file pin can
> > still be traced back to the RDMA context and all the processes which
> > may have access to it....  No matter where the original context may
> > have come from.  I believe I have accomplished that.
> >
> > Before I go on, I would like to say that the "imbalance" of
> > get_user_pages() and put_page() bothers me from a purist standpoint...
> > However, since this discussion cropped up I went ahead and ported my
> > work to Linus' current master
> > (5.3-rc3+) and in doing so I only had to steal a bit of Johns code...
> > Sorry John...  :-(
> >
> > I don't have the commit messages all cleaned up and I know there may
> > be some discussion on these new interfaces but I wanted to throw this
> > series out there because I think it may be what Jan and Michal are
> > driving at (or at least in that direction.
> >
> > Right now only RDMA and DAX FS's are supported.  Other users of GUP
> > will still fail on a DAX file and regular files will still be at
> > risk.[2]
> >
> > I've pushed this work (based 5.3-rc3+ (33920f1ec5bf)) here[3]:
> >
> > https://github.com/weiny2/linux-kernel/tree/linus-rdmafsdax-b0-v3
> >
> > I think the most relevant patch to this conversation is:
> >
> > https://github.com/weiny2/linux-
> kernel/commit/5d377653ba5cf11c3b716f90
> > 4b057bee6641aaf6
> >
> > I stole Jans suggestion for a name as the name I used while
> > prototyping was pretty bad...  So Thanks Jan...  ;-)
> 
> For your function, I'd choose a name like vaddr_pin_leased_pages() so that
> association with a lease is clear from the name :)

My gut was to just change this as you suggested.  But the fact is that these calls can get used on anonymous pages as well.  So the "leased" semantic may not apply...  OTOH if a file is encountered it will fail the pin...  :-/  I'm going to leave it for now and get the patches submitted to the list...

> Also I'd choose the
> counterpart to be vaddr_unpin_leased_page[s](). Especially having put_page
> in the name looks confusing to me...

Ah yes, totally agree with the "pin/unpin" symmetry.  I've changed from "put" to "unpin"...

Thanks,
Ira

> 
> 								Honza
> 
> --
> Jan Kara <jack@suse.com>
> SUSE Labs, CR


WARNING: multiple messages have this Message-ID (diff)
From: ira.weiny@intel.com (Weiny, Ira)
Subject: [PATCH 00/34] put_user_pages(): miscellaneous call sites
Date: Fri, 9 Aug 2019 17:56:20 +0000	[thread overview]
Message-ID: <2807E5FD2F6FDA4886F6618EAC48510E79E7F367@CRSMSX101.amr.corp.intel.com> (raw)
In-Reply-To: <20190809083435.GA17568@quack2.suse.cz>

> 
> On Wed 07-08-19 19:36:37, Ira Weiny wrote:
> > On Wed, Aug 07, 2019@10:46:49AM +0200, Michal Hocko wrote:
> > > > So I think your debug option and my suggested renaming serve a bit
> > > > different purposes (and thus both make sense). If you do the
> > > > renaming, you can just grep to see unconverted sites. Also when
> > > > someone merges new GUP user (unaware of the new rules) while you
> > > > switch GUP to use pins instead of ordinary references, you'll get
> > > > compilation error in case of renaming instead of hard to debug
> > > > refcount leak without the renaming. And such conflict is almost
> > > > bound to happen given the size of GUP patch set... Also the
> > > > renaming serves against the "coding inertia" - i.e., GUP is around for
> ages so people just use it without checking any documentation or comments.
> > > > After switching how GUP works, what used to be correct isn't
> > > > anymore so renaming the function serves as a warning that
> > > > something has really changed.
> > >
> > > Fully agreed!
> >
> > Ok Prior to this I've been basing all my work for the RDMA/FS DAX
> > stuff in Johns put_user_pages()...  (Including when I proposed failing
> > truncate with a lease in June [1])
> >
> > However, based on the suggestions in that thread it became clear that
> > a new interface was going to need to be added to pass in the "RDMA
> > file" information to GUP to associate file pins with the correct processes...
> >
> > I have many drawings on my white board with "a whole lot of lines" on
> > them to make sure that if a process opens a file, mmaps it, pins it
> > with RDMA, _closes_ it, and ummaps it; that the resulting file pin can
> > still be traced back to the RDMA context and all the processes which
> > may have access to it....  No matter where the original context may
> > have come from.  I believe I have accomplished that.
> >
> > Before I go on, I would like to say that the "imbalance" of
> > get_user_pages() and put_page() bothers me from a purist standpoint...
> > However, since this discussion cropped up I went ahead and ported my
> > work to Linus' current master
> > (5.3-rc3+) and in doing so I only had to steal a bit of Johns code...
> > Sorry John...  :-(
> >
> > I don't have the commit messages all cleaned up and I know there may
> > be some discussion on these new interfaces but I wanted to throw this
> > series out there because I think it may be what Jan and Michal are
> > driving at (or at least in that direction.
> >
> > Right now only RDMA and DAX FS's are supported.  Other users of GUP
> > will still fail on a DAX file and regular files will still be at
> > risk.[2]
> >
> > I've pushed this work (based 5.3-rc3+ (33920f1ec5bf)) here[3]:
> >
> > https://github.com/weiny2/linux-kernel/tree/linus-rdmafsdax-b0-v3
> >
> > I think the most relevant patch to this conversation is:
> >
> > https://github.com/weiny2/linux-
> kernel/commit/5d377653ba5cf11c3b716f90
> > 4b057bee6641aaf6
> >
> > I stole Jans suggestion for a name as the name I used while
> > prototyping was pretty bad...  So Thanks Jan...  ;-)
> 
> For your function, I'd choose a name like vaddr_pin_leased_pages() so that
> association with a lease is clear from the name :)

My gut was to just change this as you suggested.  But the fact is that these calls can get used on anonymous pages as well.  So the "leased" semantic may not apply...  OTOH if a file is encountered it will fail the pin...  :-/  I'm going to leave it for now and get the patches submitted to the list...

> Also I'd choose the
> counterpart to be vaddr_unpin_leased_page[s](). Especially having put_page
> in the name looks confusing to me...

Ah yes, totally agree with the "pin/unpin" symmetry.  I've changed from "put" to "unpin"...

Thanks,
Ira

> 
> 								Honza
> 
> --
> Jan Kara <jack at suse.com>
> SUSE Labs, CR

WARNING: multiple messages have this Message-ID (diff)
From: "Weiny, Ira" <ira.weiny@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: "linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Dave Chinner" <david@fromorbit.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"Michal Hocko" <mhocko@kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
	"rds-devel@oss.oracle.com" <rds-devel@oss.oracle.com>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"Matthew Wilcox" <willy@infradead.org>,
	"Christoph Hellwig" <hch@infradead.org>,
	"Jason Gunthorpe" <jgg@ziepe.ca>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"devel@lists.orangefs.org" <devel@lists.orangefs.org>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"John Hubbard" <jhubbard@nvidia.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"john.hubbard@gmail.com" <john.hubbard@gmail.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	"linux-rpi-kernel@lists.infradead.org"
	<linux-rpi-kernel@lists.infradead.org>,
	"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"Andrew Morton" <akpm@linux-foundation.org>
Subject: RE: [PATCH 00/34] put_user_pages(): miscellaneous call sites
Date: Fri, 9 Aug 2019 17:56:20 +0000	[thread overview]
Message-ID: <2807E5FD2F6FDA4886F6618EAC48510E79E7F367@CRSMSX101.amr.corp.intel.com> (raw)
In-Reply-To: <20190809083435.GA17568@quack2.suse.cz>

> 
> On Wed 07-08-19 19:36:37, Ira Weiny wrote:
> > On Wed, Aug 07, 2019 at 10:46:49AM +0200, Michal Hocko wrote:
> > > > So I think your debug option and my suggested renaming serve a bit
> > > > different purposes (and thus both make sense). If you do the
> > > > renaming, you can just grep to see unconverted sites. Also when
> > > > someone merges new GUP user (unaware of the new rules) while you
> > > > switch GUP to use pins instead of ordinary references, you'll get
> > > > compilation error in case of renaming instead of hard to debug
> > > > refcount leak without the renaming. And such conflict is almost
> > > > bound to happen given the size of GUP patch set... Also the
> > > > renaming serves against the "coding inertia" - i.e., GUP is around for
> ages so people just use it without checking any documentation or comments.
> > > > After switching how GUP works, what used to be correct isn't
> > > > anymore so renaming the function serves as a warning that
> > > > something has really changed.
> > >
> > > Fully agreed!
> >
> > Ok Prior to this I've been basing all my work for the RDMA/FS DAX
> > stuff in Johns put_user_pages()...  (Including when I proposed failing
> > truncate with a lease in June [1])
> >
> > However, based on the suggestions in that thread it became clear that
> > a new interface was going to need to be added to pass in the "RDMA
> > file" information to GUP to associate file pins with the correct processes...
> >
> > I have many drawings on my white board with "a whole lot of lines" on
> > them to make sure that if a process opens a file, mmaps it, pins it
> > with RDMA, _closes_ it, and ummaps it; that the resulting file pin can
> > still be traced back to the RDMA context and all the processes which
> > may have access to it....  No matter where the original context may
> > have come from.  I believe I have accomplished that.
> >
> > Before I go on, I would like to say that the "imbalance" of
> > get_user_pages() and put_page() bothers me from a purist standpoint...
> > However, since this discussion cropped up I went ahead and ported my
> > work to Linus' current master
> > (5.3-rc3+) and in doing so I only had to steal a bit of Johns code...
> > Sorry John...  :-(
> >
> > I don't have the commit messages all cleaned up and I know there may
> > be some discussion on these new interfaces but I wanted to throw this
> > series out there because I think it may be what Jan and Michal are
> > driving at (or at least in that direction.
> >
> > Right now only RDMA and DAX FS's are supported.  Other users of GUP
> > will still fail on a DAX file and regular files will still be at
> > risk.[2]
> >
> > I've pushed this work (based 5.3-rc3+ (33920f1ec5bf)) here[3]:
> >
> > https://github.com/weiny2/linux-kernel/tree/linus-rdmafsdax-b0-v3
> >
> > I think the most relevant patch to this conversation is:
> >
> > https://github.com/weiny2/linux-
> kernel/commit/5d377653ba5cf11c3b716f90
> > 4b057bee6641aaf6
> >
> > I stole Jans suggestion for a name as the name I used while
> > prototyping was pretty bad...  So Thanks Jan...  ;-)
> 
> For your function, I'd choose a name like vaddr_pin_leased_pages() so that
> association with a lease is clear from the name :)

My gut was to just change this as you suggested.  But the fact is that these calls can get used on anonymous pages as well.  So the "leased" semantic may not apply...  OTOH if a file is encountered it will fail the pin...  :-/  I'm going to leave it for now and get the patches submitted to the list...

> Also I'd choose the
> counterpart to be vaddr_unpin_leased_page[s](). Especially having put_page
> in the name looks confusing to me...

Ah yes, totally agree with the "pin/unpin" symmetry.  I've changed from "put" to "unpin"...

Thanks,
Ira

> 
> 								Honza
> 
> --
> Jan Kara <jack@suse.com>
> SUSE Labs, CR

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: "Weiny, Ira" <ira.weiny@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: "linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Dave Chinner" <david@fromorbit.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"Michal Hocko" <mhocko@kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
	"rds-devel@oss.oracle.com" <rds-devel@oss.oracle.com>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"Matthew Wilcox" <willy@infradead.org>,
	"Christoph Hellwig" <hch@infradead.org>,
	"Jason Gunthorpe" <jgg@ziepe.ca>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"devel@lists.orangefs.org" <devel@lists.orangefs.org>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"John Hubbard" <jhubbard@nvidia.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"john.hubbard@gmail.com" <john.hubbard@gmail.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	"linux-rpi-kernel@lists.infradead.org"
	<linux-rpi-kernel@lists.infradead.org>,
	"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"Andrew Morton" <akpm@linux-foundation.org>
Subject: Re: [Xen-devel] [PATCH 00/34] put_user_pages(): miscellaneous call sites
Date: Fri, 9 Aug 2019 17:56:20 +0000	[thread overview]
Message-ID: <2807E5FD2F6FDA4886F6618EAC48510E79E7F367@CRSMSX101.amr.corp.intel.com> (raw)
In-Reply-To: <20190809083435.GA17568@quack2.suse.cz>

> 
> On Wed 07-08-19 19:36:37, Ira Weiny wrote:
> > On Wed, Aug 07, 2019 at 10:46:49AM +0200, Michal Hocko wrote:
> > > > So I think your debug option and my suggested renaming serve a bit
> > > > different purposes (and thus both make sense). If you do the
> > > > renaming, you can just grep to see unconverted sites. Also when
> > > > someone merges new GUP user (unaware of the new rules) while you
> > > > switch GUP to use pins instead of ordinary references, you'll get
> > > > compilation error in case of renaming instead of hard to debug
> > > > refcount leak without the renaming. And such conflict is almost
> > > > bound to happen given the size of GUP patch set... Also the
> > > > renaming serves against the "coding inertia" - i.e., GUP is around for
> ages so people just use it without checking any documentation or comments.
> > > > After switching how GUP works, what used to be correct isn't
> > > > anymore so renaming the function serves as a warning that
> > > > something has really changed.
> > >
> > > Fully agreed!
> >
> > Ok Prior to this I've been basing all my work for the RDMA/FS DAX
> > stuff in Johns put_user_pages()...  (Including when I proposed failing
> > truncate with a lease in June [1])
> >
> > However, based on the suggestions in that thread it became clear that
> > a new interface was going to need to be added to pass in the "RDMA
> > file" information to GUP to associate file pins with the correct processes...
> >
> > I have many drawings on my white board with "a whole lot of lines" on
> > them to make sure that if a process opens a file, mmaps it, pins it
> > with RDMA, _closes_ it, and ummaps it; that the resulting file pin can
> > still be traced back to the RDMA context and all the processes which
> > may have access to it....  No matter where the original context may
> > have come from.  I believe I have accomplished that.
> >
> > Before I go on, I would like to say that the "imbalance" of
> > get_user_pages() and put_page() bothers me from a purist standpoint...
> > However, since this discussion cropped up I went ahead and ported my
> > work to Linus' current master
> > (5.3-rc3+) and in doing so I only had to steal a bit of Johns code...
> > Sorry John...  :-(
> >
> > I don't have the commit messages all cleaned up and I know there may
> > be some discussion on these new interfaces but I wanted to throw this
> > series out there because I think it may be what Jan and Michal are
> > driving at (or at least in that direction.
> >
> > Right now only RDMA and DAX FS's are supported.  Other users of GUP
> > will still fail on a DAX file and regular files will still be at
> > risk.[2]
> >
> > I've pushed this work (based 5.3-rc3+ (33920f1ec5bf)) here[3]:
> >
> > https://github.com/weiny2/linux-kernel/tree/linus-rdmafsdax-b0-v3
> >
> > I think the most relevant patch to this conversation is:
> >
> > https://github.com/weiny2/linux-
> kernel/commit/5d377653ba5cf11c3b716f90
> > 4b057bee6641aaf6
> >
> > I stole Jans suggestion for a name as the name I used while
> > prototyping was pretty bad...  So Thanks Jan...  ;-)
> 
> For your function, I'd choose a name like vaddr_pin_leased_pages() so that
> association with a lease is clear from the name :)

My gut was to just change this as you suggested.  But the fact is that these calls can get used on anonymous pages as well.  So the "leased" semantic may not apply...  OTOH if a file is encountered it will fail the pin...  :-/  I'm going to leave it for now and get the patches submitted to the list...

> Also I'd choose the
> counterpart to be vaddr_unpin_leased_page[s](). Especially having put_page
> in the name looks confusing to me...

Ah yes, totally agree with the "pin/unpin" symmetry.  I've changed from "put" to "unpin"...

Thanks,
Ira

> 
> 								Honza
> 
> --
> Jan Kara <jack@suse.com>
> SUSE Labs, CR

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-08-09 17:56 UTC|newest]

Thread overview: 438+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-02  2:19 [PATCH 00/34] put_user_pages(): miscellaneous call sites john.hubbard
2019-08-02  2:19 ` [Xen-devel] " john.hubbard
2019-08-02  2:19 ` john.hubbard
2019-08-02  2:19 ` john.hubbard
2019-08-02  2:19 ` john.hubbard
2019-08-02  2:19 ` john.hubbard
2019-08-02  2:19 ` [PATCH 01/34] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 02/34] net/rds: convert put_page() to put_user_page*() john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 03/34] net/ceph: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02 22:32   ` Jeff Layton
2019-08-02 22:32     ` [Xen-devel] " Jeff Layton
2019-08-02 22:32     ` Jeff Layton
2019-08-02 22:32     ` Jeff Layton
2019-08-02 22:32     ` Jeff Layton
2019-08-02 22:32     ` Jeff Layton
2019-08-02  2:19 ` [PATCH 04/34] x86/kvm: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 05/34] drm/etnaviv: convert release_pages() to put_user_pages() john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 06/34] drm/i915: convert put_page() to put_user_page*() john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  9:19   ` Joonas Lahtinen
2019-08-02  9:19     ` [Xen-devel] " Joonas Lahtinen
2019-08-02  9:19     ` Joonas Lahtinen
2019-08-02  9:19     ` Joonas Lahtinen
2019-08-02  9:19     ` Joonas Lahtinen
2019-08-02  9:19     ` Joonas Lahtinen
2019-08-02 18:48     ` John Hubbard
2019-08-02 18:48       ` [Xen-devel] " John Hubbard
2019-08-02 18:48       ` John Hubbard
2019-08-02 18:48       ` John Hubbard
2019-08-02 18:48       ` John Hubbard
2019-08-02 18:48       ` John Hubbard
2019-08-02 18:48       ` John Hubbard
2019-08-03 20:03       ` John Hubbard
2019-08-03 20:03         ` [Xen-devel] " John Hubbard
2019-08-03 20:03         ` John Hubbard
2019-08-03 20:03         ` John Hubbard
2019-08-03 20:03         ` John Hubbard
2019-08-03 20:03         ` John Hubbard
2019-08-03 20:03         ` John Hubbard
2019-08-02  2:19 ` [PATCH 07/34] drm/radeon: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 08/34] media/ivtv: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 09/34] media/v4l2-core/mm: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 10/34] genwqe: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-03  7:06   ` Greg Kroah-Hartman
2019-08-03  7:06     ` [Xen-devel] " Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-02  2:19 ` [PATCH 11/34] scif: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 12/34] vmci: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 13/34] rapidio: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 14/34] oradax: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 15/34] staging/vc04_services: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-03  7:06   ` Greg Kroah-Hartman
2019-08-03  7:06     ` [Xen-devel] " Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-03  7:06     ` Greg Kroah-Hartman
2019-08-02  2:19 ` [PATCH 16/34] drivers/tee: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  6:29   ` Jens Wiklander
2019-08-02  6:29     ` [Xen-devel] " Jens Wiklander
2019-08-02  6:29     ` Jens Wiklander
2019-08-02  6:29     ` Jens Wiklander
2019-08-02  6:29     ` Jens Wiklander
2019-08-02  6:29     ` Jens Wiklander
2019-08-02 18:51     ` John Hubbard
2019-08-02 18:51       ` [Xen-devel] " John Hubbard
2019-08-02 18:51       ` John Hubbard
2019-08-02 18:51       ` John Hubbard
2019-08-02 18:51       ` John Hubbard
2019-08-02 18:51       ` John Hubbard
2019-08-02 18:51       ` John Hubbard
2019-08-02  2:19 ` [PATCH 17/34] vfio: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 18/34] fbdev/pvr2fb: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 19/34] fsl_hypervisor: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 20/34] xen: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  4:36   ` Juergen Gross
2019-08-02  4:36     ` [Xen-devel] " Juergen Gross
2019-08-02  4:36     ` Juergen Gross
2019-08-02  4:36     ` Juergen Gross
2019-08-02  4:36     ` Juergen Gross
2019-08-02  4:36     ` Juergen Gross
2019-08-02  5:48     ` John Hubbard
2019-08-02  5:48       ` [Xen-devel] " John Hubbard
2019-08-02  5:48       ` John Hubbard
2019-08-02  5:48       ` John Hubbard
2019-08-02  5:48       ` John Hubbard
2019-08-02  5:48       ` John Hubbard
2019-08-02  5:48       ` John Hubbard
2019-08-02  6:10       ` Juergen Gross
2019-08-02  6:10         ` [Xen-devel] " Juergen Gross
2019-08-02  6:10         ` Juergen Gross
2019-08-02  6:10         ` Juergen Gross
2019-08-02  6:10         ` Juergen Gross
2019-08-02  6:10         ` Juergen Gross
2019-08-02 16:09         ` Weiny, Ira
2019-08-02 16:09           ` [Xen-devel] " Weiny, Ira
2019-08-02 16:09           ` Weiny, Ira
2019-08-02 16:09           ` Weiny, Ira
2019-08-02 16:09           ` Weiny, Ira
2019-08-02 16:09           ` Weiny, Ira
2019-08-02 19:25           ` John Hubbard
2019-08-02 19:25             ` [Xen-devel] " John Hubbard
2019-08-02 19:25             ` John Hubbard
2019-08-02 19:25             ` John Hubbard
2019-08-02 19:25             ` John Hubbard
2019-08-02 19:25             ` John Hubbard
2019-08-02  2:19 ` [PATCH 21/34] fs/exec.c: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 22/34] orangefs: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 23/34] uprobes: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 24/34] futex: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 25/34] mm/frame_vector.c: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 26/34] mm/gup_benchmark.c: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02 14:19   ` Keith Busch
2019-08-02 14:19     ` [Xen-devel] " Keith Busch
2019-08-02 14:19     ` Keith Busch
2019-08-02 14:19     ` Keith Busch
2019-08-02 14:19     ` Keith Busch
2019-08-02 14:19     ` Keith Busch
2019-08-02  2:19 ` [PATCH 27/34] mm/memory.c: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19 ` [PATCH 28/34] mm/madvise.c: " john.hubbard
2019-08-02  2:19   ` [Xen-devel] " john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:19   ` john.hubbard
2019-08-02  2:20 ` [PATCH 29/34] mm/process_vm_access.c: " john.hubbard
2019-08-02  2:20   ` [Xen-devel] " john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20 ` [PATCH 30/34] crypt: " john.hubbard
2019-08-02  2:20   ` [Xen-devel] " john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20 ` [PATCH 31/34] nfs: " john.hubbard
2019-08-02  2:20   ` [Xen-devel] " john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-03  1:27   ` Calum Mackay
2019-08-03  1:27     ` [Xen-devel] " Calum Mackay
2019-08-03  1:27     ` Calum Mackay
2019-08-03  1:27     ` Calum Mackay
2019-08-03  1:27     ` Calum Mackay
2019-08-03  1:27     ` Calum Mackay
2019-08-03  1:41     ` John Hubbard
2019-08-03  1:41       ` [Xen-devel] " John Hubbard
2019-08-03  1:41       ` John Hubbard
2019-08-03  1:41       ` John Hubbard
2019-08-03  1:41       ` John Hubbard
2019-08-03  1:41       ` John Hubbard
2019-08-03  1:41       ` John Hubbard
2019-08-04 23:28       ` Calum Mackay
2019-08-04 23:28         ` [Xen-devel] " Calum Mackay
2019-08-04 23:28         ` Calum Mackay
2019-08-04 23:28         ` Calum Mackay
2019-08-04 23:28         ` Calum Mackay
2019-08-04 23:28         ` Calum Mackay
2019-08-02  2:20 ` [PATCH 32/34] goldfish_pipe: " john.hubbard
2019-08-02  2:20   ` [Xen-devel] " john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20 ` [PATCH 33/34] kernel/events/core.c: " john.hubbard
2019-08-02  2:20   ` [Xen-devel] " john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20 ` [PATCH 34/34] fs/binfmt_elf: " john.hubbard
2019-08-02  2:20   ` [Xen-devel] " john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  2:20   ` john.hubbard
2019-08-02  9:12 ` [PATCH 00/34] put_user_pages(): miscellaneous call sites Michal Hocko
2019-08-02  9:12   ` [Xen-devel] " Michal Hocko
2019-08-02  9:12   ` Michal Hocko
2019-08-02  9:12   ` Michal Hocko
2019-08-02  9:12   ` Michal Hocko
2019-08-02  9:12   ` Michal Hocko
2019-08-02 12:41   ` Jan Kara
2019-08-02 12:41     ` [Xen-devel] " Jan Kara
2019-08-02 12:41     ` Jan Kara
2019-08-02 12:41     ` Jan Kara
2019-08-02 12:41     ` Jan Kara
2019-08-02 12:41     ` Jan Kara
2019-08-02 14:24     ` Matthew Wilcox
2019-08-02 14:24       ` [Xen-devel] " Matthew Wilcox
2019-08-02 14:24       ` Matthew Wilcox
2019-08-02 14:24       ` Matthew Wilcox
2019-08-02 14:24       ` Matthew Wilcox
2019-08-02 14:24       ` Matthew Wilcox
2019-08-02 14:52       ` Jan Kara
2019-08-02 14:52         ` [Xen-devel] " Jan Kara
2019-08-02 14:52         ` Jan Kara
2019-08-02 14:52         ` Jan Kara
2019-08-02 14:52         ` Jan Kara
2019-08-02 14:52         ` Jan Kara
2019-08-02 19:14         ` John Hubbard
2019-08-02 19:14           ` [Xen-devel] " John Hubbard
2019-08-02 19:14           ` John Hubbard
2019-08-02 19:14           ` John Hubbard
2019-08-02 19:14           ` John Hubbard
2019-08-02 19:14           ` John Hubbard
2019-08-07  8:37           ` Jan Kara
2019-08-07  8:37             ` [Xen-devel] " Jan Kara
2019-08-07  8:37             ` Jan Kara
2019-08-07  8:37             ` Jan Kara
2019-08-07  8:37             ` Jan Kara
2019-08-07  8:37             ` Jan Kara
2019-08-07  8:46             ` Michal Hocko
2019-08-07  8:46               ` [Xen-devel] " Michal Hocko
2019-08-07  8:46               ` Michal Hocko
2019-08-07  8:46               ` Michal Hocko
2019-08-07  8:46               ` Michal Hocko
2019-08-07  8:46               ` Michal Hocko
2019-08-08  2:36               ` Ira Weiny
2019-08-08  2:36                 ` [Xen-devel] " Ira Weiny
2019-08-08  2:36                 ` Ira Weiny
2019-08-08  2:36                 ` Ira Weiny
2019-08-08  2:36                 ` Ira Weiny
2019-08-08  2:36                 ` Ira Weiny
2019-08-08  3:46                 ` John Hubbard
2019-08-08  3:46                   ` [Xen-devel] " John Hubbard
2019-08-08  3:46                   ` John Hubbard
2019-08-08  3:46                   ` John Hubbard
2019-08-08  3:46                   ` John Hubbard
2019-08-08  3:46                   ` John Hubbard
2019-08-08 16:25                   ` Weiny, Ira
2019-08-08 16:25                     ` [Xen-devel] " Weiny, Ira
2019-08-08 16:25                     ` Weiny, Ira
2019-08-08 16:25                     ` Weiny, Ira
2019-08-08 16:25                     ` Weiny, Ira
2019-08-08 16:25                     ` Weiny, Ira
2019-08-08 18:18                     ` John Hubbard
2019-08-08 18:18                       ` [Xen-devel] " John Hubbard
2019-08-08 18:18                       ` John Hubbard
2019-08-08 18:18                       ` John Hubbard
2019-08-08 18:18                       ` John Hubbard
2019-08-08 18:18                       ` John Hubbard
2019-08-09  8:43                     ` Jan Kara
2019-08-09  8:43                       ` [Xen-devel] " Jan Kara
2019-08-09  8:43                       ` Jan Kara
2019-08-09  8:43                       ` Jan Kara
2019-08-09  8:43                       ` Jan Kara
2019-08-09  8:34                 ` Jan Kara
2019-08-09  8:34                   ` [Xen-devel] " Jan Kara
2019-08-09  8:34                   ` Jan Kara
2019-08-09  8:34                   ` Jan Kara
2019-08-09  8:34                   ` Jan Kara
2019-08-09  8:34                   ` Jan Kara
2019-08-09 17:56                   ` Weiny, Ira [this message]
2019-08-09 17:56                     ` [Xen-devel] " Weiny, Ira
2019-08-09 17:56                     ` Weiny, Ira
2019-08-09 17:56                     ` Weiny, Ira
2019-08-09 17:56                     ` Weiny, Ira
2019-08-09 13:26 ` ✗ Fi.CI.BAT: failure for " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2019-08-02  2:16 [PATCH 00/34] " john.hubbard
2019-08-02  2:16 ` [Xen-devel] " john.hubbard
2019-08-02  2:16 ` john.hubbard
2019-08-02  2:16 ` john.hubbard
2019-08-02  2:16 ` john.hubbard
2019-08-02  2:16 ` john.hubbard
2019-08-02  2:16 ` [PATCH 01/34] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() john.hubbard
2019-08-02  2:16   ` [Xen-devel] " john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:16 ` [PATCH 02/34] net/rds: convert put_page() to put_user_page*() john.hubbard
2019-08-02  2:16   ` [Xen-devel] " john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:16   ` john.hubbard
2019-08-02  2:39 ` [PATCH 00/34] put_user_pages(): miscellaneous call sites John Hubbard
2019-08-02  2:39   ` [Xen-devel] " John Hubbard
2019-08-02  2:39   ` John Hubbard
2019-08-02  2:39   ` John Hubbard
2019-08-02  2:39   ` John Hubbard
2019-08-02  2:39   ` John Hubbard
2019-08-02  2:39   ` John Hubbard
2019-08-02  8:05 ` Peter Zijlstra
2019-08-02  8:05   ` [Xen-devel] " Peter Zijlstra
2019-08-02  8:05   ` Peter Zijlstra
2019-08-02  8:05   ` Peter Zijlstra
2019-08-02  8:05   ` Peter Zijlstra
2019-08-02  8:05   ` Peter Zijlstra
2019-08-02 19:33   ` John Hubbard
2019-08-02 19:33     ` [Xen-devel] " John Hubbard
2019-08-02 19:33     ` John Hubbard
2019-08-02 19:33     ` John Hubbard
2019-08-02 19:33     ` John Hubbard
2019-08-02 19:33     ` John Hubbard
2019-08-02 19:33     ` 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=2807E5FD2F6FDA4886F6618EAC48510E79E7F367@CRSMSX101.amr.corp.intel.com \
    --to=ira.weiny@intel.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@fromorbit.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=jgg@ziepe.ca \
    --cc=kvm@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mhocko@kernel.org \
    --cc=rds-devel@oss.oracle.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=willy@infradead.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /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.