From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 In-Reply-To: References: <20150428181203.35812.60474.stgit@dwillia2-desk3.amr.corp.intel.com> <20150428182514.35812.12126.stgit@dwillia2-desk3.amr.corp.intel.com> From: Andy Lutomirski Date: Tue, 28 Apr 2015 15:58:02 -0700 Message-ID: Subject: Re: [Linux-nvdimm] [PATCH v2 11/20] libnd, nd_pmem: add libnd support to the pmem driver Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org To: Phil Pokorny Cc: Dan Williams , linux-nvdimm , "linux-kernel@vger.kernel.org" , Christoph Hellwig , Jens Axboe , "H. Peter Anvin" , Ingo Molnar List-ID: On Tue, Apr 28, 2015 at 3:21 PM, Phil Pokorny wrote: > On Tue, Apr 28, 2015 at 2:04 PM, Andy Lutomirski wrote: >> On Tue, Apr 28, 2015 at 11:25 AM, Dan Williams wrote: >>> +config ND_E820 >>> + tristate "E820: Support the E820-type-12 PMEM convention" >>> + depends on X86_PMEM_LEGACY >>> + default m if X86_PMEM_LEGACY >>> + select LIBND >>> + help >>> + Prior to ACPI 6 some platforms advertised peristent memory >>> + via type-12 e820 memory ranges. Create a libnd bus and >>> + attach an instance of the pmem driver to these ranges. >>> + >> >> How about something like: >> >> "This driver allows libnd to work with legacy, pre-ACPI 6 NVDIMMs. >> This enables such devices to be exposed as block devices using PMEM. >> >> The legacy NVDIMM interface is problematic. This driver will not work >> if you boot using UEFI, and some NVDIMMs and motherboards that work >> with this driver may require proprietary code in order to work >> reliably." > > Perhaps not "problematic" but "requires a BIOS in Legacy mode" > > It might also mention that if you use the kernel command line > memmap=nn!ss syntax it adds > a type 12 region to the e820 map and so you would want this support. > > If you have a motherboard with UEFI support for NVDIMM's that would be > the recommended > configuration. This is such a mess that I think this driver should maybe flat-out refuse to load in this type of configuration without some scary module option. I have some NVDIMMs that report as type 12 but need two extra out-of-tree drivers to work safely. First, they need i2c_imc or the equivalent (I'll try to resubmit that soon). Second, they need secret magic NDAed register poking. The latter is very problematic. At the very least, I think we should discourage people who don't really know what they're doing from using this driver without care. --Andy From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031296AbbD1W6Z (ORCPT ); Tue, 28 Apr 2015 18:58:25 -0400 Received: from mail-lb0-f181.google.com ([209.85.217.181]:34136 "EHLO mail-lb0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031100AbbD1W6Y (ORCPT ); Tue, 28 Apr 2015 18:58:24 -0400 MIME-Version: 1.0 In-Reply-To: References: <20150428181203.35812.60474.stgit@dwillia2-desk3.amr.corp.intel.com> <20150428182514.35812.12126.stgit@dwillia2-desk3.amr.corp.intel.com> From: Andy Lutomirski Date: Tue, 28 Apr 2015 15:58:02 -0700 Message-ID: Subject: Re: [Linux-nvdimm] [PATCH v2 11/20] libnd, nd_pmem: add libnd support to the pmem driver To: Phil Pokorny Cc: Dan Williams , linux-nvdimm , "linux-kernel@vger.kernel.org" , Christoph Hellwig , Jens Axboe , "H. Peter Anvin" , Ingo Molnar Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 28, 2015 at 3:21 PM, Phil Pokorny wrote: > On Tue, Apr 28, 2015 at 2:04 PM, Andy Lutomirski wrote: >> On Tue, Apr 28, 2015 at 11:25 AM, Dan Williams wrote: >>> +config ND_E820 >>> + tristate "E820: Support the E820-type-12 PMEM convention" >>> + depends on X86_PMEM_LEGACY >>> + default m if X86_PMEM_LEGACY >>> + select LIBND >>> + help >>> + Prior to ACPI 6 some platforms advertised peristent memory >>> + via type-12 e820 memory ranges. Create a libnd bus and >>> + attach an instance of the pmem driver to these ranges. >>> + >> >> How about something like: >> >> "This driver allows libnd to work with legacy, pre-ACPI 6 NVDIMMs. >> This enables such devices to be exposed as block devices using PMEM. >> >> The legacy NVDIMM interface is problematic. This driver will not work >> if you boot using UEFI, and some NVDIMMs and motherboards that work >> with this driver may require proprietary code in order to work >> reliably." > > Perhaps not "problematic" but "requires a BIOS in Legacy mode" > > It might also mention that if you use the kernel command line > memmap=nn!ss syntax it adds > a type 12 region to the e820 map and so you would want this support. > > If you have a motherboard with UEFI support for NVDIMM's that would be > the recommended > configuration. This is such a mess that I think this driver should maybe flat-out refuse to load in this type of configuration without some scary module option. I have some NVDIMMs that report as type 12 but need two extra out-of-tree drivers to work safely. First, they need i2c_imc or the equivalent (I'll try to resubmit that soon). Second, they need secret magic NDAed register poking. The latter is very problematic. At the very least, I think we should discourage people who don't really know what they're doing from using this driver without care. --Andy