From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753354AbbFAO3s (ORCPT ); Mon, 1 Jun 2015 10:29:48 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:64447 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752243AbbFAO3j (ORCPT ); Mon, 1 Jun 2015 10:29:39 -0400 From: Arnd Bergmann To: Dan Williams Cc: Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Thomas Gleixner , Ross Zwisler , Andrew Morton , Juergen Gross , X86 ML , "Kani, Toshimitsu" , "linux-nvdimm@lists.01.org" , Luis Rodriguez , Konrad Rzeszutek Wilk , "linux-kernel@vger.kernel.org" , Stefan Bader , Andy Lutomirski , linux-mm@kvack.org, geert@linux-m68k.org, Henrique de Moraes Holschuh , Tejun Heo , Christoph Hellwig Subject: Re: [PATCH v2 2/4] devm: fix ioremap_cache() usage Date: Mon, 01 Jun 2015 16:26:57 +0200 Message-ID: <1620292.L8s1FmNDhT@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <20150530185425.32590.3190.stgit@dwillia2-desk3.amr.corp.intel.com> <201505302252.19647.arnd@arndb.de> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:VOrzGgXVa/ZbSO56BadJj7g69WBocBFQlzKmtWM4Fxx4EGH04py eawLRoLVqOjwcusF+rGmXZuIbd/h3t2NF2QT07yGGlN09s4R3bdMzlf1s/xFObaKYE4LYqH psxIcStF3cKZQHqdGg4AhKmWLUMR/u0KwFjRw+JV1cqpFg3wxsl24MTb71SeATVaMG/D4Tx iRmKVVL/ThO/8ce9oRChw== X-UI-Out-Filterresults: notjunk:1;V01:K0:uk8HteDdtFY=:bekoy4hsAyZiPShCdFGMhZ bvp2sLOCJsuRv9MMnTxfoJ9kk1I2zdn1BVFnRyKl5hJRiG+0h5GX+zNt13MhDowSKr1zzg1Cf CEGIzWbhkUCv1agXp7zaBhxF5LtCP44eboD2O5a3lLzEeqJ/FZH9YsVyj1agiuZz/mIIwpYNn LiEDVyjjCLJ+QapcYzI8Z5L71LW1YGKNL9wIdMg1tgssgmCui+2PSIYHPYDu54aB/ebZNCj9b iVa5u/CKgj0FGn9V3zZvEaxiMjGQJd+v8joCt9hCt1EZu9vU+kCwG9VXe7jhd+ExEImfMyt48 1HXOdyVuCmGkJ6StWweGam8NNkYwfiblYmfpBsCY/ahhFt8e+5d5Aquoc+hLYbANVQTkcEJjD Awqlth4cBk9DHlTTbxyGOw3Z4LdiFVXfwBde9BPC5uJ9K8kWJFCs0/iu5l7Yn0MIe391KY9+O lVwB0Zexxza4fNCx0GspsEEAQGW//wJ6CGOAbNj5QzHvCRKJVe6RPoD2qvrsB+d3fCAfGodM/ IISIGecMTbzMaryJ3XWfZ1pWAW6kwFVgWUa2aT1PIfTamHJiL4xcHAeCnwtfkFWpNHdqx9b+y t4vtacOns2wLaBSJnlZ96Bsp1syn2EM+Iv9ykihtzEJu3TXvuQZQEc7OnaQUpjKdnJaumhcAR 1LH8wa3E6WzohqPhuB7WZ8JnqMDT+v8K043CctpML/52Iig== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Saturday 30 May 2015 14:16:28 Dan Williams wrote: > On Sat, May 30, 2015 at 1:52 PM, Arnd Bergmann wrote: > > On Saturday 30 May 2015, Dan Williams wrote: > >> @@ -154,7 +148,7 @@ void __iomem *devm_ioremap_resource(struct device *dev, struct resource *res) > >> } > >> > >> if (res->flags & IORESOURCE_CACHEABLE) > >> - dest_ptr = devm_ioremap(dev, res->start, size); > >> + dest_ptr = devm_ioremap_cache(dev, res->start, size); > >> else > >> dest_ptr = devm_ioremap_nocache(dev, res->start, size); > > > > I think the existing uses of IORESOURCE_CACHEABLE are mostly bugs, so changing > > the behavior here may cause more problems than it solves. > > > > Ok, but that effectively makes devm_ioremap_resource() unusable for > the cached case. How about introducing devm_ioremap_cache_resource(), > and cleaning up devm_ioremap_resource() to stop pretending that it is > honoring the memory type of the resource? I was thinking the opposite approach and basically removing all uses of IORESOURCE_CACHEABLE from the kernel. There are only a handful of them.and we can probably replace them all with hardcoded ioremap_cached() calls in the cases they are actually useful Arnd