All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: "linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	Linux ACPI <linux-acpi@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Robert Moore <robert.moore@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	David Box <david.e.box@linux.intel.com>
Subject: Re: [PATCH v2 02/20] libnd, nd_acpi: initial libnd infrastructure and NFIT support
Date: Fri, 1 May 2015 09:23:38 -0700	[thread overview]
Message-ID: <CAPcyv4iuPy+KR1YgE+jc91XoHSueR_k0zry-8umJWBjXzcUasg@mail.gmail.com> (raw)
In-Reply-To: <2235175.7DaGPJD1E4@vostro.rjw.lan>

On Thu, Apr 30, 2015 at 6:21 PM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Thursday, April 30, 2015 05:39:06 PM Dan Williams wrote:
>> On Thu, Apr 30, 2015 at 4:23 PM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
[..]
>> >> +if ND_DEVICES
>> >> +
>> >> +config LIBND
>> >> +     tristate "LIBND: libnd device driver support"
>> >> +     help
>> >> +       Platform agnostic device model for a libnd bus.  Publishes
>> >> +       resources for a PMEM (persistent-memory) driver and/or BLK
>> >> +       (sliding mmio window(s)) driver to attach.  Exposes a device
>> >> +       topology under a "ndX" bus device, a "/dev/ndctlX" bus-ioctl
>> >> +       message passing interface, and a "/dev/nmemX" dimm-ioctl
>> >> +       message interface for each memory device registered on the
>> >> +       bus.  instance.  A userspace library "ndctl" provides an API
>> >> +       to enumerate/manage this subsystem.
>> >> +
>> >> +config ND_ACPI
>> >> +     tristate "ACPI: NFIT to libnd bus support"
>> >> +     select LIBND
>> >> +     depends on ACPI
>> >> +     help
>> >> +       Infrastructure to probe ACPI 6 compliant platforms for
>> >> +       NVDIMMs (NFIT) and register a libnd device tree.  In
>> >> +       addition to storage devices this also enables libnd craft
>> >> +       ACPI._DSM messages for platform/dimm configuration.
>> >
>> > I'm wondering if the two CONFIG options above really need to be user-selectable?
>> >
>> > For example, what reason people (who've already selected ND_DEVICES) may have
>> > for not selecting ND_ACPI if ACPI is set?
>>
>>
>> Later on in the series we introduce ND_E820 which supports creating a
>> libnd-bus from e820-type-12 memory ranges on pre-NFIT systems.  I'm
>> also considering a configfs defined libnd-bus because e820 types are
>> not nearly enough information to safely define nvdimm resources
>> outside of NFIT.
>
> I hope these are not mutually exclusive with ND_ACPI?  Otherwise distros
> will have problems with supporting them in one kernel.

You can have ND_E820 support and ND_ACPI support in the same system.
Likely an NFIT enabled system will never have e820-type-12 ranges, but
if a user messes up and uses the new memmap=ss!nn command line to
overlap NFIT-defined memory then the request_mem_region() calls in the
driver will collide.  First to load wins in that scenario.

> If ND_E820 and ND_ACPI aren't mutually exclusive, I still don't see a good
> enough reason for asking users about ND_ACPI.  Why would I ever say "No"
> here if I said "Yes" or "Module" to ND_DEVICES?

I agree that if the user selects ND_DEVICES then ND_ACPI should
probably default on, but otherwise turning it off is a useful option.
If you know your system is pre-ACPI-6 then why bother including
support?

>> >> +
>> >> +endif
>> >> diff --git a/drivers/block/nd/Makefile b/drivers/block/nd/Makefile
>> >> new file mode 100644
>> >> index 000000000000..944b5947c0cb
>> >> --- /dev/null
>> >> +++ b/drivers/block/nd/Makefile
>> >> @@ -0,0 +1,6 @@
>> >> +obj-$(CONFIG_LIBND) += libnd.o
>> >> +obj-$(CONFIG_ND_ACPI) += nd_acpi.o
>> >> +
>> >> +nd_acpi-y := acpi.o
>> >> +
>> >> +libnd-y := core.o
>> >
>> > OK, so it looks like no modules, just built-in code, right?
>> >
>>
>> Um, no, both CONFIG_ND_ACPI and CONFIG_LIBND can be =m.
>
> OK
>
> [cut]
>
>> >> +static int nd_acpi_remove(struct acpi_device *adev)
>> >> +{
>> >> +     struct acpi_nfit_desc *acpi_desc = dev_get_drvdata(&adev->dev);
>> >> +
>> >> +     nd_bus_unregister(acpi_desc->nd_bus);
>> >> +     return 0;
>> >> +}
>> >> +
>> >> +static void nd_acpi_notify(struct acpi_device *adev, u32 event)
>> >> +{
>> >> +     /* TODO: handle ACPI_NOTIFY_BUS_CHECK notification */
>> >> +     dev_dbg(&adev->dev, "%s: event: %d\n", __func__, event);
>> >> +}
>> >> +
>> >> +static const struct acpi_device_id nd_acpi_ids[] = {
>> >> +     { "ACPI0012", 0 },
>> >> +     { "", 0 },
>> >> +};
>> >> +MODULE_DEVICE_TABLE(acpi, nd_acpi_ids);
>> >> +
>> >> +static struct acpi_driver nd_acpi_driver = {
>> >> +     .name = KBUILD_MODNAME,
>> >> +     .ids = nd_acpi_ids,
>> >> +     .flags = ACPI_DRIVER_ALL_NOTIFY_EVENTS,
>> >> +     .ops = {
>> >> +             .add = nd_acpi_add,
>> >> +             .remove = nd_acpi_remove,
>> >> +             .notify = nd_acpi_notify
>> >> +     },
>> >> +};
>> >
>> > Since this is going to be non-modular built-in code, please use an ACPI
>> > scan handler instead of using a driver here.  acpi_memhotplug.c does that,
>> > you can use it as an example, but I guess you don't need to enable hotplug
>> > for it to start with.
>>
>>
>> No, you misunderstood, this will certainly be modular and loaded on-demand.
>
> OK
>
> So please drop the .notify thing at least for now.  It most likely doesn't do
> what you need anyway.

The .notify handler will eventually be filled in to handle hot-add of
NFIT structures, but yes I'll drop it for now.

WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: "linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>,
	Linux ACPI <linux-acpi@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Robert Moore <robert.moore@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	David Box <david.e.box@linux.intel.com>
Subject: Re: [PATCH v2 02/20] libnd, nd_acpi: initial libnd infrastructure and NFIT support
Date: Fri, 1 May 2015 09:23:38 -0700	[thread overview]
Message-ID: <CAPcyv4iuPy+KR1YgE+jc91XoHSueR_k0zry-8umJWBjXzcUasg@mail.gmail.com> (raw)
In-Reply-To: <2235175.7DaGPJD1E4@vostro.rjw.lan>

On Thu, Apr 30, 2015 at 6:21 PM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Thursday, April 30, 2015 05:39:06 PM Dan Williams wrote:
>> On Thu, Apr 30, 2015 at 4:23 PM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
[..]
>> >> +if ND_DEVICES
>> >> +
>> >> +config LIBND
>> >> +     tristate "LIBND: libnd device driver support"
>> >> +     help
>> >> +       Platform agnostic device model for a libnd bus.  Publishes
>> >> +       resources for a PMEM (persistent-memory) driver and/or BLK
>> >> +       (sliding mmio window(s)) driver to attach.  Exposes a device
>> >> +       topology under a "ndX" bus device, a "/dev/ndctlX" bus-ioctl
>> >> +       message passing interface, and a "/dev/nmemX" dimm-ioctl
>> >> +       message interface for each memory device registered on the
>> >> +       bus.  instance.  A userspace library "ndctl" provides an API
>> >> +       to enumerate/manage this subsystem.
>> >> +
>> >> +config ND_ACPI
>> >> +     tristate "ACPI: NFIT to libnd bus support"
>> >> +     select LIBND
>> >> +     depends on ACPI
>> >> +     help
>> >> +       Infrastructure to probe ACPI 6 compliant platforms for
>> >> +       NVDIMMs (NFIT) and register a libnd device tree.  In
>> >> +       addition to storage devices this also enables libnd craft
>> >> +       ACPI._DSM messages for platform/dimm configuration.
>> >
>> > I'm wondering if the two CONFIG options above really need to be user-selectable?
>> >
>> > For example, what reason people (who've already selected ND_DEVICES) may have
>> > for not selecting ND_ACPI if ACPI is set?
>>
>>
>> Later on in the series we introduce ND_E820 which supports creating a
>> libnd-bus from e820-type-12 memory ranges on pre-NFIT systems.  I'm
>> also considering a configfs defined libnd-bus because e820 types are
>> not nearly enough information to safely define nvdimm resources
>> outside of NFIT.
>
> I hope these are not mutually exclusive with ND_ACPI?  Otherwise distros
> will have problems with supporting them in one kernel.

You can have ND_E820 support and ND_ACPI support in the same system.
Likely an NFIT enabled system will never have e820-type-12 ranges, but
if a user messes up and uses the new memmap=ss!nn command line to
overlap NFIT-defined memory then the request_mem_region() calls in the
driver will collide.  First to load wins in that scenario.

> If ND_E820 and ND_ACPI aren't mutually exclusive, I still don't see a good
> enough reason for asking users about ND_ACPI.  Why would I ever say "No"
> here if I said "Yes" or "Module" to ND_DEVICES?

I agree that if the user selects ND_DEVICES then ND_ACPI should
probably default on, but otherwise turning it off is a useful option.
If you know your system is pre-ACPI-6 then why bother including
support?

>> >> +
>> >> +endif
>> >> diff --git a/drivers/block/nd/Makefile b/drivers/block/nd/Makefile
>> >> new file mode 100644
>> >> index 000000000000..944b5947c0cb
>> >> --- /dev/null
>> >> +++ b/drivers/block/nd/Makefile
>> >> @@ -0,0 +1,6 @@
>> >> +obj-$(CONFIG_LIBND) += libnd.o
>> >> +obj-$(CONFIG_ND_ACPI) += nd_acpi.o
>> >> +
>> >> +nd_acpi-y := acpi.o
>> >> +
>> >> +libnd-y := core.o
>> >
>> > OK, so it looks like no modules, just built-in code, right?
>> >
>>
>> Um, no, both CONFIG_ND_ACPI and CONFIG_LIBND can be =m.
>
> OK
>
> [cut]
>
>> >> +static int nd_acpi_remove(struct acpi_device *adev)
>> >> +{
>> >> +     struct acpi_nfit_desc *acpi_desc = dev_get_drvdata(&adev->dev);
>> >> +
>> >> +     nd_bus_unregister(acpi_desc->nd_bus);
>> >> +     return 0;
>> >> +}
>> >> +
>> >> +static void nd_acpi_notify(struct acpi_device *adev, u32 event)
>> >> +{
>> >> +     /* TODO: handle ACPI_NOTIFY_BUS_CHECK notification */
>> >> +     dev_dbg(&adev->dev, "%s: event: %d\n", __func__, event);
>> >> +}
>> >> +
>> >> +static const struct acpi_device_id nd_acpi_ids[] = {
>> >> +     { "ACPI0012", 0 },
>> >> +     { "", 0 },
>> >> +};
>> >> +MODULE_DEVICE_TABLE(acpi, nd_acpi_ids);
>> >> +
>> >> +static struct acpi_driver nd_acpi_driver = {
>> >> +     .name = KBUILD_MODNAME,
>> >> +     .ids = nd_acpi_ids,
>> >> +     .flags = ACPI_DRIVER_ALL_NOTIFY_EVENTS,
>> >> +     .ops = {
>> >> +             .add = nd_acpi_add,
>> >> +             .remove = nd_acpi_remove,
>> >> +             .notify = nd_acpi_notify
>> >> +     },
>> >> +};
>> >
>> > Since this is going to be non-modular built-in code, please use an ACPI
>> > scan handler instead of using a driver here.  acpi_memhotplug.c does that,
>> > you can use it as an example, but I guess you don't need to enable hotplug
>> > for it to start with.
>>
>>
>> No, you misunderstood, this will certainly be modular and loaded on-demand.
>
> OK
>
> So please drop the .notify thing at least for now.  It most likely doesn't do
> what you need anyway.

The .notify handler will eventually be filled in to handle hot-add of
NFIT structures, but yes I'll drop it for now.

  reply	other threads:[~2015-05-01 16:23 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-28 18:24 [PATCH v2 00/20] libnd: non-volatile memory device support Dan Williams
2015-04-28 18:24 ` Dan Williams
2015-04-28 18:24 ` [PATCH v2 01/20] e820, efi: add ACPI 6.0 persistent memory types Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-04-28 20:49   ` Andy Lutomirski
2015-04-28 20:49     ` Andy Lutomirski
2015-04-28 20:57     ` Dan Williams
2015-04-28 20:57       ` Dan Williams
2015-04-28 21:05       ` Andy Lutomirski
2015-04-28 21:05         ` Andy Lutomirski
2015-05-15 15:43   ` [Linux-nvdimm] " Jeff Moyer
2015-05-15 15:48     ` Dan Williams
2015-05-18 19:28       ` Andy Lutomirski
2015-04-28 18:24 ` [PATCH v2 02/20] libnd, nd_acpi: initial libnd infrastructure and NFIT support Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-04-30 23:23   ` Rafael J. Wysocki
2015-04-30 23:23     ` Rafael J. Wysocki
2015-05-01  0:39     ` Dan Williams
2015-05-01  0:39       ` Dan Williams
2015-05-01  1:21       ` Rafael J. Wysocki
2015-05-01  1:21         ` Rafael J. Wysocki
2015-05-01 16:23         ` Dan Williams [this message]
2015-05-01 16:23           ` Dan Williams
2015-05-04 23:58           ` Rafael J. Wysocki
2015-05-04 23:58             ` Rafael J. Wysocki
2015-05-04 23:46             ` Dan Williams
2015-05-04 23:46               ` Dan Williams
2015-05-15 19:44   ` [Linux-nvdimm] " Jeff Moyer
2015-05-15 20:41     ` Dan Williams
2015-04-28 18:24 ` [PATCH v2 03/20] nd_acpi, nfit-test: manufactured NFITs for interface development Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-05-15 20:25   ` [Linux-nvdimm] " Jeff Moyer
2015-05-15 20:50     ` Dan Williams
2015-04-28 18:24 ` [PATCH v2 04/20] libnd: ndctl class device, and nd bus attributes Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-05-15 21:00   ` [Linux-nvdimm] " Jeff Moyer
2015-04-28 18:24 ` [PATCH v2 05/20] libnd, nd_acpi: dimm/memory-devices Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-05-01 17:48   ` [Linux-nvdimm] " Toshi Kani
2015-05-01 17:48     ` Toshi Kani
2015-05-01 18:22     ` Dan Williams
2015-05-01 18:22       ` Dan Williams
2015-05-01 18:19       ` Toshi Kani
2015-05-01 18:19         ` Toshi Kani
2015-05-01 18:43         ` Dan Williams
2015-05-01 18:43           ` Dan Williams
2015-05-01 19:15           ` Toshi Kani
2015-05-01 19:15             ` Toshi Kani
2015-05-01 19:38             ` Dan Williams
2015-05-01 19:38               ` Dan Williams
2015-05-01 20:08               ` Toshi Kani
2015-05-01 20:08                 ` Toshi Kani
2015-04-28 18:24 ` [PATCH v2 06/20] libnd: ndctl.h, the nd ioctl abi Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-04-28 18:24 ` [PATCH v2 07/20] libnd, nd_dimm: dimm driver and base libnd device-driver infrastructure Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-05-20 16:59   ` [Linux-nvdimm] " Elliott, Robert (Server Storage)
2015-05-20 16:59     ` Elliott, Robert (Server Storage)
2015-05-20 17:02     ` Dan Williams
2015-05-20 17:02       ` Dan Williams
2015-04-28 18:24 ` [PATCH v2 08/20] libnd, nd_acpi: regions (block-data-window, persistent memory, volatile memory) Dan Williams
2015-04-28 18:24   ` Dan Williams
2015-04-29 15:53   ` [Linux-nvdimm] " Elliott, Robert (Server Storage)
2015-04-29 15:53     ` Elliott, Robert (Server Storage)
2015-04-29 15:59     ` Dan Williams
2015-04-29 15:59       ` Dan Williams
2015-05-04 20:26   ` Toshi Kani
2015-05-04 20:26     ` Toshi Kani
2015-05-09 23:55     ` Dan Williams
2015-05-09 23:55       ` Dan Williams
2015-05-28 18:36       ` Toshi Kani
2015-05-28 18:36         ` Toshi Kani
2015-05-28 19:59         ` Dan Williams
2015-05-28 19:59           ` Dan Williams
2015-05-28 20:51           ` Linda Knippers
2015-05-28 20:51             ` Linda Knippers
2015-05-28 20:58             ` Dan Williams
2015-05-28 20:58               ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 09/20] libnd: support for legacy (non-aliasing) nvdimms Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 10/20] pmem: use ida Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-29 18:25   ` [Linux-nvdimm] " Toshi Kani
2015-04-29 18:25     ` Toshi Kani
2015-04-29 18:59     ` Dan Williams
2015-04-29 18:59       ` Dan Williams
2015-04-29 18:53       ` Toshi Kani
2015-04-29 18:53         ` Toshi Kani
2015-04-29 20:49         ` Linda Knippers
2015-04-29 20:49           ` Linda Knippers
2015-04-29 21:36           ` Dan Williams
2015-04-29 21:36             ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 11/20] libnd, nd_pmem: add libnd support to the pmem driver Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 21:04   ` Andy Lutomirski
2015-04-28 21:04     ` Andy Lutomirski
2015-04-28 22:21     ` [Linux-nvdimm] " Phil Pokorny
2015-04-28 22:21       ` Phil Pokorny
2015-04-28 22:58       ` Andy Lutomirski
2015-04-28 22:58         ` Andy Lutomirski
2015-04-29  0:17         ` Phil Pokorny
2015-04-29  0:17           ` Phil Pokorny
2015-04-29  0:28           ` Andy Lutomirski
2015-04-29  0:28             ` Andy Lutomirski
2015-04-29 15:55         ` Dan Williams
2015-04-29 15:55           ` Dan Williams
2015-04-29 18:36           ` Andy Lutomirski
2015-04-29 18:36             ` Andy Lutomirski
2015-04-28 18:25 ` [PATCH v2 12/20] libnd, nd_acpi: add interleave-set state-tracking infrastructure Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 13/20] libnd: namespace indices: read and validate Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 14/20] libnd: pmem label sets and namespace instantiation Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 15/20] libnd: blk labels " Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 16/20] libnd: write pmem label set Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 17/20] libnd: write blk " Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-04-28 18:25 ` [PATCH v2 18/20] libnd: infrastructure for btt devices Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-05-12 16:33   ` [Linux-nvdimm] " Toshi Kani
2015-05-12 16:33     ` Toshi Kani
2015-05-15  0:41     ` Dan Williams
2015-05-15  0:41       ` Dan Williams
2015-05-15  4:25       ` Elliott, Robert (Server Storage)
2015-05-15  4:25         ` Elliott, Robert (Server Storage)
2015-04-28 18:25 ` [PATCH v2 19/20] nd_btt: atomic sector updates Dan Williams
2015-04-28 18:25   ` Dan Williams
2015-05-17  1:19   ` [Linux-nvdimm] " Elliott, Robert (Server Storage)
2015-05-17  1:19     ` Elliott, Robert (Server Storage)
2015-05-17  3:22     ` Dan Williams
2015-05-17  3:22       ` Dan Williams
2015-05-20 17:20       ` Elliott, Robert (Server Storage)
2015-05-20 17:20         ` Elliott, Robert (Server Storage)
2015-05-18 22:38     ` Verma, Vishal L
2015-05-18 22:38       ` Verma, Vishal L
2015-04-28 18:26 ` [PATCH v2 20/20] libnd, nd_acpi, nd_blk: driver for BLK-mode access persistent memory Dan Williams
2015-04-28 18:26   ` Dan Williams
2015-04-28 21:10   ` Andy Lutomirski
2015-04-28 21:10     ` Andy Lutomirski
2015-04-28 22:30     ` Dan Williams
2015-04-28 22:30       ` Dan Williams
2015-04-28 23:06       ` Andy Lutomirski
2015-04-28 23:06         ` Andy Lutomirski
2015-04-29 17:10         ` Dan Williams
2015-04-29 17:10           ` Dan Williams
2015-04-29 19:28           ` Andy Lutomirski
2015-04-29 19:28             ` Andy Lutomirski
2015-04-28 20:52 ` [PATCH v2 00/20] libnd: non-volatile memory device support Andy Lutomirski
2015-04-28 20:52   ` Andy Lutomirski
2015-04-28 20:59   ` Dan Williams
2015-04-28 20:59     ` Dan Williams
2015-04-28 21:06     ` Andy Lutomirski
2015-04-28 21:06       ` Andy Lutomirski
2015-04-28 22:28       ` Dan Williams
2015-04-28 22:28         ` Dan Williams
2015-04-28 23:05         ` Andy Lutomirski
2015-04-28 23:05           ` Andy Lutomirski
2015-04-30 20:56           ` Ross Zwisler
2015-04-30 20:56             ` Ross Zwisler
2015-04-28 21:24 ` [Linux-nvdimm] " Elliott, Robert (Server Storage)
2015-04-28 21:24   ` Elliott, Robert (Server Storage)
2015-04-28 22:15   ` Dan Williams
2015-04-28 22:15     ` Dan Williams
2015-05-07  7:29     ` Christoph Hellwig
2015-05-07  7:29       ` Christoph Hellwig
2015-04-29  0:25 ` Rafael J. Wysocki
2015-04-29  0:25   ` Rafael J. Wysocki
2015-04-29  1:22   ` Dan Williams
2015-04-29  1:22     ` Dan Williams
2015-04-29  1:22     ` Dan Williams
2015-05-05  0:06     ` Rafael J. Wysocki
2015-05-05  0:06       ` Rafael J. Wysocki
2015-05-05  0:06       ` Rafael J. Wysocki
2015-05-08  6:31       ` Williams, Dan J
2015-05-08  6:31         ` Williams, Dan J
2015-05-08  6:31         ` Williams, Dan J

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPcyv4iuPy+KR1YgE+jc91XoHSueR_k0zry-8umJWBjXzcUasg@mail.gmail.com \
    --to=dan.j.williams@intel.com \
    --cc=david.e.box@linux.intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=rjw@rjwysocki.net \
    --cc=robert.moore@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.