From: Ross Zwisler <ross.zwisler at linux.intel.com>
To: devel@acpica.org
Subject: [Devel] [PATCH v3 1/3] acpi: HMAT support in acpi_parse_entries_array()
Date: Wed, 13 Dec 2017 19:10:17 -0700 [thread overview]
Message-ID: <20171214021019.13579-2-ross.zwisler@linux.intel.com> (raw)
In-Reply-To: 20171214021019.13579-1-ross.zwisler@linux.intel.com
[-- Attachment #1: Type: text/plain, Size: 3799 bytes --]
The current implementation of acpi_parse_entries_array() assumes that each
subtable has a standard ACPI subtable entry of type struct
acpi_subtable_header. This standard subtable header has a one byte length
followed by a one byte type.
The HMAT subtables have to allow for a longer length so they have subtable
headers of type struct acpi_hmat_structure which has a 2 byte type and a 4
byte length.
Enhance the subtable parsing in acpi_parse_entries_array() so that it can
handle these new HMAT subtables.
Signed-off-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
---
drivers/acpi/tables.c | 52 ++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 41 insertions(+), 11 deletions(-)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 80ce2a7d224b..f777b94c234a 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -218,6 +218,33 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header)
}
}
+static unsigned long __init
+acpi_get_entry_type(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->type;
+ else
+ return ((struct acpi_subtable_header *)entry)->type;
+}
+
+static unsigned long __init
+acpi_get_entry_length(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->length;
+ else
+ return ((struct acpi_subtable_header *)entry)->length;
+}
+
+static unsigned long __init
+acpi_get_subtable_header_length(char *id)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return sizeof(struct acpi_hmat_structure);
+ else
+ return sizeof(struct acpi_subtable_header);
+}
+
/**
* acpi_parse_entries_array - for each proc_num find a suitable subtable
*
@@ -242,10 +269,10 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
struct acpi_subtable_proc *proc, int proc_num,
unsigned int max_entries)
{
- struct acpi_subtable_header *entry;
- unsigned long table_end;
+ unsigned long table_end, subtable_header_length;
int count = 0;
int errs = 0;
+ void *entry;
int i;
if (acpi_disabled)
@@ -263,19 +290,23 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
}
table_end = (unsigned long)table_header + table_header->length;
+ subtable_header_length = acpi_get_subtable_header_length(id);
/* Parse all entries looking for a match. */
- entry = (struct acpi_subtable_header *)
- ((unsigned long)table_header + table_size);
+ entry = (void *)table_header + table_size;
+
+ while (((unsigned long)entry) + subtable_header_length < table_end) {
+ unsigned long entry_type, entry_length;
- while (((unsigned long)entry) + sizeof(struct acpi_subtable_header) <
- table_end) {
if (max_entries && count >= max_entries)
break;
+ entry_type = acpi_get_entry_type(id, entry);
+ entry_length = acpi_get_entry_length(id, entry);
+
for (i = 0; i < proc_num; i++) {
- if (entry->type != proc[i].id)
+ if (entry_type != proc[i].id)
continue;
if (!proc[i].handler ||
(!errs && proc[i].handler(entry, table_end))) {
@@ -290,16 +321,15 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
count++;
/*
- * If entry->length is 0, break from this loop to avoid
+ * If entry_length is 0, break from this loop to avoid
* infinite loop.
*/
- if (entry->length == 0) {
+ if (entry_length == 0) {
pr_err("[%4.4s:0x%02x] Invalid zero length\n", id, proc->id);
return -EINVAL;
}
- entry = (struct acpi_subtable_header *)
- ((unsigned long)entry + entry->length);
+ entry += entry_length;
}
if (max_entries && count > max_entries) {
--
2.14.3
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: linux-kernel@vger.kernel.org
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
"Anaczkowski, Lukasz" <lukasz.anaczkowski@intel.com>,
"Box, David E" <david.e.box@intel.com>,
"Kogut, Jaroslaw" <Jaroslaw.Kogut@intel.com>,
"Koss, Marcin" <marcin.koss@intel.com>,
"Koziej, Artur" <artur.koziej@intel.com>,
"Lahtinen, Joonas" <joonas.lahtinen@intel.com>,
"Moore, Robert" <robert.moore@intel.com>,
"Nachimuthu, Murugasamy" <murugasamy.nachimuthu@intel.com>,
"Odzioba, Lukasz" <lukasz.odzioba@intel.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Schmauss, Erik" <erik.schmauss@intel.com>,
"Verma, Vishal L" <vishal.l.verma@intel.com>,
"Zheng, Lv" <lv.zheng@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Balbir Singh <bsingharora@gmail.com>,
Brice Goglin <brice.goglin@gmail.com>,
Dan Williams <dan.j.williams@intel.com>,
Dave Hansen <dave.hansen@intel.com>
Subject: [PATCH v3 1/3] acpi: HMAT support in acpi_parse_entries_array()
Date: Wed, 13 Dec 2017 19:10:17 -0700 [thread overview]
Message-ID: <20171214021019.13579-2-ross.zwisler@linux.intel.com> (raw)
In-Reply-To: <20171214021019.13579-1-ross.zwisler@linux.intel.com>
The current implementation of acpi_parse_entries_array() assumes that each
subtable has a standard ACPI subtable entry of type struct
acpi_subtable_header. This standard subtable header has a one byte length
followed by a one byte type.
The HMAT subtables have to allow for a longer length so they have subtable
headers of type struct acpi_hmat_structure which has a 2 byte type and a 4
byte length.
Enhance the subtable parsing in acpi_parse_entries_array() so that it can
handle these new HMAT subtables.
Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
---
drivers/acpi/tables.c | 52 ++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 41 insertions(+), 11 deletions(-)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 80ce2a7d224b..f777b94c234a 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -218,6 +218,33 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header)
}
}
+static unsigned long __init
+acpi_get_entry_type(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->type;
+ else
+ return ((struct acpi_subtable_header *)entry)->type;
+}
+
+static unsigned long __init
+acpi_get_entry_length(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->length;
+ else
+ return ((struct acpi_subtable_header *)entry)->length;
+}
+
+static unsigned long __init
+acpi_get_subtable_header_length(char *id)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return sizeof(struct acpi_hmat_structure);
+ else
+ return sizeof(struct acpi_subtable_header);
+}
+
/**
* acpi_parse_entries_array - for each proc_num find a suitable subtable
*
@@ -242,10 +269,10 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
struct acpi_subtable_proc *proc, int proc_num,
unsigned int max_entries)
{
- struct acpi_subtable_header *entry;
- unsigned long table_end;
+ unsigned long table_end, subtable_header_length;
int count = 0;
int errs = 0;
+ void *entry;
int i;
if (acpi_disabled)
@@ -263,19 +290,23 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
}
table_end = (unsigned long)table_header + table_header->length;
+ subtable_header_length = acpi_get_subtable_header_length(id);
/* Parse all entries looking for a match. */
- entry = (struct acpi_subtable_header *)
- ((unsigned long)table_header + table_size);
+ entry = (void *)table_header + table_size;
+
+ while (((unsigned long)entry) + subtable_header_length < table_end) {
+ unsigned long entry_type, entry_length;
- while (((unsigned long)entry) + sizeof(struct acpi_subtable_header) <
- table_end) {
if (max_entries && count >= max_entries)
break;
+ entry_type = acpi_get_entry_type(id, entry);
+ entry_length = acpi_get_entry_length(id, entry);
+
for (i = 0; i < proc_num; i++) {
- if (entry->type != proc[i].id)
+ if (entry_type != proc[i].id)
continue;
if (!proc[i].handler ||
(!errs && proc[i].handler(entry, table_end))) {
@@ -290,16 +321,15 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
count++;
/*
- * If entry->length is 0, break from this loop to avoid
+ * If entry_length is 0, break from this loop to avoid
* infinite loop.
*/
- if (entry->length == 0) {
+ if (entry_length == 0) {
pr_err("[%4.4s:0x%02x] Invalid zero length\n", id, proc->id);
return -EINVAL;
}
- entry = (struct acpi_subtable_header *)
- ((unsigned long)entry + entry->length);
+ entry += entry_length;
}
if (max_entries && count > max_entries) {
--
2.14.3
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: linux-kernel@vger.kernel.org
Cc: "Box, David E" <david.e.box@intel.com>,
Dave Hansen <dave.hansen@intel.com>,
"Zheng, Lv" <lv.zheng@intel.com>,
linux-nvdimm@lists.01.org,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, Anaczkowski,,
Robert, Lukasz, "Erik <erik.schmauss@intel.com>,
Len Brown" <lenb@kernel.org>, John Hubbard <jhubbard@nvidia.com>,
Jerome Glisse <jglisse@redhat.com>, devel@acpica.org, Kogut,,
"Marcin <marcin.koss@intel.com>,
Brice Goglin <brice.goglin@gmail.com>,
Nachimuthu, Murugasamy" <murugasamy.nachimuthu@intel.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>, Koziej,,
"Joonas <joonas.lahtinen@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Tim Chen" <tim.c.chen@linux.intel.com>
Subject: [PATCH v3 1/3] acpi: HMAT support in acpi_parse_entries_array()
Date: Wed, 13 Dec 2017 19:10:17 -0700 [thread overview]
Message-ID: <20171214021019.13579-2-ross.zwisler@linux.intel.com> (raw)
In-Reply-To: <20171214021019.13579-1-ross.zwisler@linux.intel.com>
The current implementation of acpi_parse_entries_array() assumes that each
subtable has a standard ACPI subtable entry of type struct
acpi_subtable_header. This standard subtable header has a one byte length
followed by a one byte type.
The HMAT subtables have to allow for a longer length so they have subtable
headers of type struct acpi_hmat_structure which has a 2 byte type and a 4
byte length.
Enhance the subtable parsing in acpi_parse_entries_array() so that it can
handle these new HMAT subtables.
Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
---
drivers/acpi/tables.c | 52 ++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 41 insertions(+), 11 deletions(-)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 80ce2a7d224b..f777b94c234a 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -218,6 +218,33 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header)
}
}
+static unsigned long __init
+acpi_get_entry_type(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->type;
+ else
+ return ((struct acpi_subtable_header *)entry)->type;
+}
+
+static unsigned long __init
+acpi_get_entry_length(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->length;
+ else
+ return ((struct acpi_subtable_header *)entry)->length;
+}
+
+static unsigned long __init
+acpi_get_subtable_header_length(char *id)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return sizeof(struct acpi_hmat_structure);
+ else
+ return sizeof(struct acpi_subtable_header);
+}
+
/**
* acpi_parse_entries_array - for each proc_num find a suitable subtable
*
@@ -242,10 +269,10 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
struct acpi_subtable_proc *proc, int proc_num,
unsigned int max_entries)
{
- struct acpi_subtable_header *entry;
- unsigned long table_end;
+ unsigned long table_end, subtable_header_length;
int count = 0;
int errs = 0;
+ void *entry;
int i;
if (acpi_disabled)
@@ -263,19 +290,23 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
}
table_end = (unsigned long)table_header + table_header->length;
+ subtable_header_length = acpi_get_subtable_header_length(id);
/* Parse all entries looking for a match. */
- entry = (struct acpi_subtable_header *)
- ((unsigned long)table_header + table_size);
+ entry = (void *)table_header + table_size;
+
+ while (((unsigned long)entry) + subtable_header_length < table_end) {
+ unsigned long entry_type, entry_length;
- while (((unsigned long)entry) + sizeof(struct acpi_subtable_header) <
- table_end) {
if (max_entries && count >= max_entries)
break;
+ entry_type = acpi_get_entry_type(id, entry);
+ entry_length = acpi_get_entry_length(id, entry);
+
for (i = 0; i < proc_num; i++) {
- if (entry->type != proc[i].id)
+ if (entry_type != proc[i].id)
continue;
if (!proc[i].handler ||
(!errs && proc[i].handler(entry, table_end))) {
@@ -290,16 +321,15 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
count++;
/*
- * If entry->length is 0, break from this loop to avoid
+ * If entry_length is 0, break from this loop to avoid
* infinite loop.
*/
- if (entry->length == 0) {
+ if (entry_length == 0) {
pr_err("[%4.4s:0x%02x] Invalid zero length\n", id, proc->id);
return -EINVAL;
}
- entry = (struct acpi_subtable_header *)
- ((unsigned long)entry + entry->length);
+ entry += entry_length;
}
if (max_entries && count > max_entries) {
--
2.14.3
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: linux-kernel@vger.kernel.org
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
"Anaczkowski, Lukasz" <lukasz.anaczkowski@intel.com>,
"Box, David E" <david.e.box@intel.com>,
"Kogut, Jaroslaw" <Jaroslaw.Kogut@intel.com>,
"Koss, Marcin" <marcin.koss@intel.com>,
"Koziej, Artur" <artur.koziej@intel.com>,
"Lahtinen, Joonas" <joonas.lahtinen@intel.com>,
"Moore, Robert" <robert.moore@intel.com>,
"Nachimuthu, Murugasamy" <murugasamy.nachimuthu@intel.com>,
"Odzioba, Lukasz" <lukasz.odzioba@intel.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Schmauss, Erik" <erik.schmauss@intel.com>,
"Verma, Vishal L" <vishal.l.verma@intel.com>,
"Zheng, Lv" <lv.zheng@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Balbir Singh <bsingharora@gmail.com>,
Brice Goglin <brice.goglin@gmail.com>,
Dan Williams <dan.j.williams@intel.com>,
Dave Hansen <dave.hansen@intel.com>,
Jerome Glisse <jglisse@redhat.com>,
John Hubbard <jhubbard@nvidia.com>, Len Brown <lenb@kernel.org>,
Tim Chen <tim.c.chen@linux.intel.com>,
devel@acpica.org, linux-acpi@vger.kernel.org, linux-mm@kvack.org,
linux-nvdimm@lists.01.org
Subject: [PATCH v3 1/3] acpi: HMAT support in acpi_parse_entries_array()
Date: Wed, 13 Dec 2017 19:10:17 -0700 [thread overview]
Message-ID: <20171214021019.13579-2-ross.zwisler@linux.intel.com> (raw)
In-Reply-To: <20171214021019.13579-1-ross.zwisler@linux.intel.com>
The current implementation of acpi_parse_entries_array() assumes that each
subtable has a standard ACPI subtable entry of type struct
acpi_subtable_header. This standard subtable header has a one byte length
followed by a one byte type.
The HMAT subtables have to allow for a longer length so they have subtable
headers of type struct acpi_hmat_structure which has a 2 byte type and a 4
byte length.
Enhance the subtable parsing in acpi_parse_entries_array() so that it can
handle these new HMAT subtables.
Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
---
drivers/acpi/tables.c | 52 ++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 41 insertions(+), 11 deletions(-)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 80ce2a7d224b..f777b94c234a 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -218,6 +218,33 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header)
}
}
+static unsigned long __init
+acpi_get_entry_type(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->type;
+ else
+ return ((struct acpi_subtable_header *)entry)->type;
+}
+
+static unsigned long __init
+acpi_get_entry_length(char *id, void *entry)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return ((struct acpi_hmat_structure *)entry)->length;
+ else
+ return ((struct acpi_subtable_header *)entry)->length;
+}
+
+static unsigned long __init
+acpi_get_subtable_header_length(char *id)
+{
+ if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+ return sizeof(struct acpi_hmat_structure);
+ else
+ return sizeof(struct acpi_subtable_header);
+}
+
/**
* acpi_parse_entries_array - for each proc_num find a suitable subtable
*
@@ -242,10 +269,10 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
struct acpi_subtable_proc *proc, int proc_num,
unsigned int max_entries)
{
- struct acpi_subtable_header *entry;
- unsigned long table_end;
+ unsigned long table_end, subtable_header_length;
int count = 0;
int errs = 0;
+ void *entry;
int i;
if (acpi_disabled)
@@ -263,19 +290,23 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
}
table_end = (unsigned long)table_header + table_header->length;
+ subtable_header_length = acpi_get_subtable_header_length(id);
/* Parse all entries looking for a match. */
- entry = (struct acpi_subtable_header *)
- ((unsigned long)table_header + table_size);
+ entry = (void *)table_header + table_size;
+
+ while (((unsigned long)entry) + subtable_header_length < table_end) {
+ unsigned long entry_type, entry_length;
- while (((unsigned long)entry) + sizeof(struct acpi_subtable_header) <
- table_end) {
if (max_entries && count >= max_entries)
break;
+ entry_type = acpi_get_entry_type(id, entry);
+ entry_length = acpi_get_entry_length(id, entry);
+
for (i = 0; i < proc_num; i++) {
- if (entry->type != proc[i].id)
+ if (entry_type != proc[i].id)
continue;
if (!proc[i].handler ||
(!errs && proc[i].handler(entry, table_end))) {
@@ -290,16 +321,15 @@ acpi_parse_entries_array(char *id, unsigned long table_size,
count++;
/*
- * If entry->length is 0, break from this loop to avoid
+ * If entry_length is 0, break from this loop to avoid
* infinite loop.
*/
- if (entry->length == 0) {
+ if (entry_length == 0) {
pr_err("[%4.4s:0x%02x] Invalid zero length\n", id, proc->id);
return -EINVAL;
}
- entry = (struct acpi_subtable_header *)
- ((unsigned long)entry + entry->length);
+ entry += entry_length;
}
if (max_entries && count > max_entries) {
--
2.14.3
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev reply other threads:[~2017-12-14 2:10 UTC|newest]
Thread overview: 153+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-14 2:10 [Devel] [PATCH v3 0/3] create sysfs representation of ACPI HMAT Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler [this message]
2017-12-14 2:10 ` [PATCH v3 1/3] acpi: HMAT support in acpi_parse_entries_array() Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
[not found] ` <20171214021019.13579-2-ross.zwisler-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-12-15 1:10 ` Dan Williams
2017-12-15 1:10 ` Dan Williams
2017-12-15 1:10 ` Dan Williams
2017-12-16 1:53 ` Rafael J. Wysocki
2017-12-16 1:53 ` Rafael J. Wysocki
2017-12-16 1:53 ` Rafael J. Wysocki
2017-12-16 1:57 ` Dan Williams
2017-12-16 1:57 ` Dan Williams
2017-12-16 2:15 ` Rafael J. Wysocki
2017-12-16 2:15 ` Rafael J. Wysocki
2017-12-16 2:15 ` Rafael J. Wysocki
2017-12-14 13:00 ` [PATCH v3 0/3] create sysfs representation of ACPI HMAT Michal Hocko
2017-12-14 13:00 ` Michal Hocko
2017-12-18 20:35 ` [Devel] " Ross Zwisler
2017-12-18 20:35 ` Ross Zwisler
2017-12-18 20:35 ` Ross Zwisler
2017-12-18 20:35 ` Ross Zwisler
2017-12-20 16:41 ` [Devel] " Ross Zwisler
2017-12-20 16:41 ` Ross Zwisler
2017-12-20 16:41 ` Ross Zwisler
2017-12-20 16:41 ` Ross Zwisler
[not found] ` <20171220164107.GA29103-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-12-21 13:18 ` Michal Hocko
2017-12-21 13:18 ` Michal Hocko
2017-12-21 13:18 ` Michal Hocko
[not found] ` <20171218203547.GA2366-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-12-20 18:19 ` Matthew Wilcox
2017-12-20 18:19 ` Matthew Wilcox
2017-12-20 18:19 ` Matthew Wilcox
2017-12-20 20:22 ` Dave Hansen
2017-12-20 20:22 ` Dave Hansen
2017-12-20 20:22 ` Dave Hansen
2017-12-20 21:16 ` Matthew Wilcox
2017-12-20 21:16 ` Matthew Wilcox
2017-12-20 21:16 ` Matthew Wilcox
2017-12-20 21:16 ` Matthew Wilcox
2017-12-20 21:24 ` [Devel] " Ross Zwisler
2017-12-20 21:24 ` Ross Zwisler
2017-12-20 21:24 ` Ross Zwisler
2017-12-20 21:24 ` Ross Zwisler
2017-12-20 22:29 ` Dan Williams
2017-12-20 22:29 ` Dan Williams
2017-12-20 22:29 ` Dan Williams
2017-12-20 22:41 ` [Devel] " Ross Zwisler
2017-12-20 22:41 ` Ross Zwisler
2017-12-20 22:41 ` Ross Zwisler
2017-12-20 22:41 ` Ross Zwisler
2017-12-20 22:41 ` Ross Zwisler
2017-12-21 20:31 ` Brice Goglin
2017-12-21 20:31 ` Brice Goglin
2017-12-21 20:31 ` Brice Goglin
2017-12-21 20:31 ` Brice Goglin
2017-12-22 22:53 ` Dan Williams
2017-12-22 22:53 ` Dan Williams
2017-12-22 22:53 ` Dan Williams
2017-12-22 22:53 ` Dan Williams
2017-12-22 23:22 ` [Devel] " Ross Zwisler
2017-12-22 23:22 ` Ross Zwisler
2017-12-22 23:22 ` Ross Zwisler
2017-12-22 23:22 ` Ross Zwisler
2017-12-22 23:22 ` Ross Zwisler
2017-12-22 23:57 ` Dan Williams
2017-12-22 23:57 ` Dan Williams
2017-12-22 23:57 ` Dan Williams
2017-12-22 23:57 ` Dan Williams
[not found] ` <CAPcyv4j9shdJFrvADa=qW4L-jPJJ4S_TJc_c=aRoW3EmSCCChQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-27 9:10 ` Brice Goglin
2017-12-27 9:10 ` Brice Goglin
2017-12-27 9:10 ` Brice Goglin
2017-12-27 9:10 ` Brice Goglin
[not found] ` <71317994-af66-a1b2-4c7a-86a03253cf62-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-12-30 6:58 ` Matthew Wilcox
2017-12-30 6:58 ` Matthew Wilcox
2017-12-30 6:58 ` Matthew Wilcox
2017-12-30 6:58 ` Matthew Wilcox
[not found] ` <20171230065845.GD27959-PfSpb0PWhxZc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2017-12-30 9:19 ` Brice Goglin
2017-12-30 9:19 ` Brice Goglin
2017-12-30 9:19 ` Brice Goglin
2017-12-30 9:19 ` Brice Goglin
2017-12-20 21:13 ` [Devel] " Ross Zwisler
2017-12-20 21:13 ` Ross Zwisler
2017-12-20 21:13 ` Ross Zwisler
2017-12-20 21:13 ` Ross Zwisler
2017-12-20 21:13 ` Ross Zwisler
2017-12-21 1:41 ` Elliott, Robert (Persistent Memory)
2017-12-21 1:41 ` Elliott, Robert (Persistent Memory)
2017-12-21 1:41 ` Elliott, Robert (Persistent Memory)
2017-12-21 1:41 ` Elliott, Robert (Persistent Memory)
2017-12-21 12:50 ` Michael Ellerman
2017-12-21 12:50 ` Michael Ellerman
2017-12-21 12:50 ` Michael Ellerman
2017-12-21 12:50 ` Michael Ellerman
2017-12-22 3:09 ` Anshuman Khandual
2017-12-22 3:09 ` Anshuman Khandual
2017-12-22 3:09 ` Anshuman Khandual
2017-12-22 10:31 ` Kogut, Jaroslaw
2017-12-22 10:31 ` Kogut, Jaroslaw
2017-12-22 10:31 ` Kogut, Jaroslaw
2017-12-22 14:37 ` Anshuman Khandual
2017-12-22 14:37 ` Anshuman Khandual
2017-12-22 14:37 ` Anshuman Khandual
2017-12-22 17:13 ` Dave Hansen
2017-12-22 17:13 ` Dave Hansen
2017-12-22 17:13 ` Dave Hansen
2017-12-23 5:14 ` Anshuman Khandual
2017-12-23 5:14 ` Anshuman Khandual
2017-12-23 5:14 ` Anshuman Khandual
2017-12-22 22:13 ` [Devel] " Ross Zwisler
2017-12-22 22:13 ` Ross Zwisler
2017-12-22 22:13 ` Ross Zwisler
2017-12-22 22:13 ` Ross Zwisler
2017-12-23 6:56 ` Anshuman Khandual
2017-12-23 6:56 ` Anshuman Khandual
2017-12-23 6:56 ` Anshuman Khandual
2017-12-22 22:31 ` [Devel] " Ross Zwisler
2017-12-22 22:31 ` Ross Zwisler
2017-12-22 22:31 ` Ross Zwisler
2017-12-22 22:31 ` Ross Zwisler
[not found] ` <20171222223154.GC25711-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-12-25 2:05 ` Liubo(OS Lab)
2017-12-25 2:05 ` Liubo(OS Lab)
2017-12-25 2:05 ` Liubo(OS Lab)
-- strict thread matches above, loose matches on Subject: below --
2017-12-14 2:10 [Devel] [PATCH v3 2/3] hmat: add heterogeneous memory sysfs support Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 [Devel] [PATCH v3 3/3] hmat: add performance attributes Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-14 2:10 ` Ross Zwisler
2017-12-15 0:49 [Devel] [PATCH v3 1/3] acpi: HMAT support in acpi_parse_entries_array() Rafael J. Wysocki
2017-12-15 0:49 ` Rafael J. Wysocki
2017-12-15 0:49 ` Rafael J. Wysocki
2017-12-15 0:49 ` Rafael J. Wysocki
2017-12-15 0:52 [Devel] [PATCH v3 2/3] hmat: add heterogeneous memory sysfs support Rafael J. Wysocki
2017-12-15 0:52 ` Rafael J. Wysocki
2017-12-15 0:52 ` Rafael J. Wysocki
2017-12-15 20:53 [Devel] " Ross Zwisler
2017-12-15 20:53 ` Ross Zwisler
2017-12-15 20:53 ` Ross Zwisler
2017-12-15 20:53 ` Ross Zwisler
2017-12-22 21:46 [Devel] [PATCH v3 0/3] create sysfs representation of ACPI HMAT Ross Zwisler
2017-12-22 21:46 ` Ross Zwisler
2017-12-22 21:46 ` Ross Zwisler
2017-12-22 21:46 ` Ross Zwisler
2017-12-23 1:14 [Devel] " Rafael J. Wysocki
2017-12-23 1:14 ` Rafael J. Wysocki
2017-12-23 1:14 ` Rafael J. Wysocki
2017-12-23 1:14 ` Rafael J. Wysocki
2017-12-23 1:14 ` Rafael J. Wysocki
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=20171214021019.13579-2-ross.zwisler@linux.intel.com \
--to=devel@acpica.org \
/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.