From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 27 Jun 2019 10:51:35 +0200 From: Christoph Hellwig Subject: Re: [PATCH 15/25] memremap: provide an optional internal refcount in struct dev_pagemap Message-ID: <20190627085135.GB11420@lst.de> References: <20190626122724.13313-1-hch@lst.de> <20190626122724.13313-16-hch@lst.de> <20190626214750.GC8399@iweiny-DESK2.sc.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190626214750.GC8399@iweiny-DESK2.sc.intel.com> Sender: owner-linux-mm@kvack.org To: Ira Weiny Cc: Christoph Hellwig , Dan Williams , =?iso-8859-1?B?Suly9G1l?= Glisse , Jason Gunthorpe , Ben Skeggs , linux-nvdimm@lists.01.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, nouveau@lists.freedesktop.org List-ID: On Wed, Jun 26, 2019 at 02:47:50PM -0700, Ira Weiny wrote: > > + > > + init_completion(&pgmap->done); > > + error = percpu_ref_init(&pgmap->internal_ref, > > + dev_pagemap_percpu_release, 0, GFP_KERNEL); > > + if (error) > > + return ERR_PTR(error); > > + pgmap->ref = &pgmap->internal_ref; > > + } else { > > + if (!pgmap->ops || !pgmap->ops->kill || !pgmap->ops->cleanup) { > > + WARN(1, "Missing reference count teardown definition\n"); > > + return ERR_PTR(-EINVAL); > > + } > > After this series are there any users who continue to supply their own > reference object and these callbacks? Yes, fsdax uses the block layer request_queue reference count. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 15/25] memremap: provide an optional internal refcount in struct dev_pagemap Date: Thu, 27 Jun 2019 10:51:35 +0200 Message-ID: <20190627085135.GB11420@lst.de> References: <20190626122724.13313-1-hch@lst.de> <20190626122724.13313-16-hch@lst.de> <20190626214750.GC8399@iweiny-DESK2.sc.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190626214750.GC8399-J5EW/p2F9lUlb2qzJQmr9q2pdiUAq4bhAL8bYrjMMd8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ira Weiny Cc: linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org, linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, Jason Gunthorpe , Ben Skeggs , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Dan Williams , Christoph Hellwig List-Id: nouveau.vger.kernel.org T24gV2VkLCBKdW4gMjYsIDIwMTkgYXQgMDI6NDc6NTBQTSAtMDcwMCwgSXJhIFdlaW55IHdyb3Rl Ogo+ID4gKwo+ID4gKwkJaW5pdF9jb21wbGV0aW9uKCZwZ21hcC0+ZG9uZSk7Cj4gPiArCQllcnJv ciA9IHBlcmNwdV9yZWZfaW5pdCgmcGdtYXAtPmludGVybmFsX3JlZiwKPiA+ICsJCQkJZGV2X3Bh Z2VtYXBfcGVyY3B1X3JlbGVhc2UsIDAsIEdGUF9LRVJORUwpOwo+ID4gKwkJaWYgKGVycm9yKQo+ ID4gKwkJCXJldHVybiBFUlJfUFRSKGVycm9yKTsKPiA+ICsJCXBnbWFwLT5yZWYgPSAmcGdtYXAt PmludGVybmFsX3JlZjsKPiA+ICsJfSBlbHNlIHsKPiA+ICsJCWlmICghcGdtYXAtPm9wcyB8fCAh cGdtYXAtPm9wcy0+a2lsbCB8fCAhcGdtYXAtPm9wcy0+Y2xlYW51cCkgewo+ID4gKwkJCVdBUk4o MSwgIk1pc3NpbmcgcmVmZXJlbmNlIGNvdW50IHRlYXJkb3duIGRlZmluaXRpb25cbiIpOwo+ID4g KwkJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ID4gKwkJfQo+IAo+IEFmdGVyIHRoaXMgc2Vy aWVzIGFyZSB0aGVyZSBhbnkgdXNlcnMgd2hvIGNvbnRpbnVlIHRvIHN1cHBseSB0aGVpciBvd24K PiByZWZlcmVuY2Ugb2JqZWN0IGFuZCB0aGVzZSBjYWxsYmFja3M/CgpZZXMsIGZzZGF4IHVzZXMg dGhlIGJsb2NrIGxheWVyIHJlcXVlc3RfcXVldWUgcmVmZXJlbmNlIGNvdW50LgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlz dApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXU=