Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756565AbbHZMqw (ORCPT ); Wed, 26 Aug 2015 08:46:52 -0400 Received: from verein.lst.de ([213.95.11.211]:40455 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752910AbbHZMqv (ORCPT ); Wed, 26 Aug 2015 08:46:51 -0400 Date: Wed, 26 Aug 2015 14:46:49 +0200 From: Christoph Hellwig To: Dan Williams Cc: linux-nvdimm@ml01.01.org, boaz@plexistor.com, david@fromorbit.com, linux-kernel@vger.kernel.org, hch@lst.de, linux-mm@kvack.org, hpa@zytor.com, ross.zwisler@linux.intel.com, mingo@kernel.org Subject: Re: [PATCH v2 9/9] devm_memremap_pages: protect against pmem device unbind Message-ID: <20150826124649.GA8014@lst.de> References: <20150826010220.8851.18077.stgit@dwillia2-desk3.amr.corp.intel.com> <20150826012813.8851.35482.stgit@dwillia2-desk3.amr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150826012813.8851.35482.stgit@dwillia2-desk3.amr.corp.intel.com> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 953 Lines: 24 On Tue, Aug 25, 2015 at 09:28:13PM -0400, Dan Williams wrote: > Given that: > > 1/ device ->remove() can not be failed > > 2/ a pmem device may be unbound at any time > > 3/ we do not know what other parts of the kernel are actively using a > 'struct page' from devm_memremap_pages() > > ...provide a facility for active usages of device memory to block pmem > device unbind. With a percpu_ref it should be feasible to take a > reference on a per-I/O or other high frequency basis. Without a caller of get_page_map this is just adding dead code. I'd suggest to group it in a series with that caller. Also if the page_map gets exposed in a header the name is a bit too generic. memremap_map maybe? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/