Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752121AbbFYPyE (ORCPT ); Thu, 25 Jun 2015 11:54:04 -0400 Received: from mail-ie0-f169.google.com ([209.85.223.169]:35805 "EHLO mail-ie0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752167AbbFYPx4 (ORCPT ); Thu, 25 Jun 2015 11:53:56 -0400 MIME-Version: 1.0 In-Reply-To: <20150625150918.GA4898@pd.tnic> References: <1435195342-26879-1-git-send-email-mcgrof@do-not-panic.com> <1435195342-26879-6-git-send-email-mcgrof@do-not-panic.com> <20150625150918.GA4898@pd.tnic> From: "Luis R. Rodriguez" Date: Thu, 25 Jun 2015 08:53:35 -0700 X-Google-Sender-Auth: wkelKYpqrAhQONfd785OD21ULQg Message-ID: Subject: Re: [PATCH v8 5/9] PCI: Add pci_iomap_wc() variants To: Borislav Petkov Cc: Ingo Molnar , Arnd Bergmann , Bjorn Helgaas , Andy Lutomirski , Andrew Morton , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Tomi Valkeinen , "Michael S. Tsirkin" , Toshi Kani , linux-fbdev , "xen-devel@lists.xensource.com" , Benjamin Herrenschmidt , Suresh Siddha , Ingo Molnar , Thomas Gleixner , Juergen Gross , Daniel Vetter , Dave Airlie , Antonino Daplas , Jean-Christophe Plagniol-Villard , Dave Hansen , venkatesh.pallipadi@intel.com, Stefan Bader , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Mel Gorman , Vlastimil Babka , Davidlohr Bueso , Konrad Rzeszutek Wilk , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , David Vrabel , Jan Beulich , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1146 Lines: 30 On Thu, Jun 25, 2015 at 8:09 AM, Borislav Petkov wrote: >> +void __iomem *pci_iomap_wc_range(struct pci_dev *dev, >> + int bar, >> + unsigned long offset, >> + unsigned long maxlen) >> +{ >> + resource_size_t start = pci_resource_start(dev, bar); >> + resource_size_t len = pci_resource_len(dev, bar); >> + unsigned long flags = pci_resource_flags(dev, bar); >> + >> + if (len <= offset || !start) >> + return NULL; >> + len -= offset; >> + start += offset; >> + if (maxlen && len > maxlen) >> + len = maxlen; >> + if (flags & IORESOURCE_IO) >> + return NULL; > > I've moved this check at the beginning of the function so that we bail > out before doing the computations above it. That indeed looks like a good optimization. Luis -- 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/