Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752913AbbBRVdy (ORCPT ); Wed, 18 Feb 2015 16:33:54 -0500 Received: from g4t3426.houston.hp.com ([15.201.208.54]:39890 "EHLO g4t3426.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752720AbbBRVdw (ORCPT ); Wed, 18 Feb 2015 16:33:52 -0500 Message-ID: <1424295209.17007.34.camel@misato.fc.hp.com> Subject: Re: [PATCH v2 6/7] x86, mm: Support huge I/O mappings on x86 From: Toshi Kani To: Ingo Molnar Cc: akpm@linux-foundation.org, hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, arnd@arndb.de, linux-mm@kvack.org, x86@kernel.org, linux-kernel@vger.kernel.org, Elliott@hp.com Date: Wed, 18 Feb 2015 14:33:29 -0700 In-Reply-To: <20150218211555.GA22696@gmail.com> References: <1423521935-17454-1-git-send-email-toshi.kani@hp.com> <1423521935-17454-7-git-send-email-toshi.kani@hp.com> <20150218204414.GA20943@gmail.com> <1424294020.17007.21.camel@misato.fc.hp.com> <20150218211555.GA22696@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4 (3.10.4-4.fc20) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2225 Lines: 67 On Wed, 2015-02-18 at 22:15 +0100, Ingo Molnar wrote: > * Toshi Kani wrote: > > > On Wed, 2015-02-18 at 21:44 +0100, Ingo Molnar wrote: > > > * Toshi Kani wrote: > > > > > > > This patch implements huge I/O mapping capability interfaces on x86. > > > > > > > +#ifdef CONFIG_HUGE_IOMAP > > > > +#ifdef CONFIG_X86_64 > > > > +#define IOREMAP_MAX_ORDER (PUD_SHIFT) > > > > +#else > > > > +#define IOREMAP_MAX_ORDER (PMD_SHIFT) > > > > +#endif > > > > +#endif /* CONFIG_HUGE_IOMAP */ > > > > > > > +#ifdef CONFIG_HUGE_IOMAP > > > > > > Hm, so why is there a Kconfig option for this? It just > > > complicates things. > > > > > > For example the kernel already defaults to mapping itself > > > with as large mappings as possible, without a Kconfig entry > > > for it. There's no reason to make this configurable - and > > > quite a bit of complexity in the patches comes from this > > > configurability. > > > > This Kconfig option was added to disable this feature in > > case there is an issue. [...] > > If bugs are found then they should be fixed. Right. > > [...] That said, since the patchset also added a new > > nohugeiomap boot option for the same purpose, I agree > > that this Kconfig option can be removed. So, I will > > remove it in the next version. > > > > An example of such case is with multiple MTRRs described > > in patch 0/7. > > So the multi-MTRR case should probably be detected and > handled safely? I considered two options to safely handle this case, i.e. option A) and B) described in the link below. https://lkml.org/lkml/2015/2/5/638 I thought about how much complication we should put into the code for an imaginable platform with a combination of new NVM (or large I/O range) and legacy MTRRs with multi-types & contiguous ranges. My thinking is that we should go with option C) for simplicity, and implement A) or B) later if we find it necessary. Thanks, -Toshi -- 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/