All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing
@ 2024-01-31 23:55 Ira Weiny
  2024-01-31 23:55 ` [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events Ira Weiny
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Ira Weiny @ 2024-01-31 23:55 UTC (permalink / raw)
  To: Dan Williams, Jonathan Cameron
  Cc: Davidlohr Bueso, Dave Jiang, Alison Schofield, Vishal Verma,
	linux-acpi, linux-kernel, linux-efi, linux-cxl, Ira Weiny,
	Jonathan Cameron, Jonathan Cameron

A couple of fixes for the new CXL CPER processing code.

The first is a real bug which should land in rc.  The second could wait
until the next merge window but it small enough it should be ok to land
in rc.

Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
Ira Weiny (2):
      cxl/cper: Fix errant CPER prints for CXL events
      cxl/trace: Remove unnecessary memcpy's

 drivers/acpi/apei/ghes.c    | 26 --------------------------
 drivers/cxl/core/trace.h    |  6 +++---
 drivers/firmware/efi/cper.c | 19 +++++++++++++++++++
 include/linux/cper.h        | 23 +++++++++++++++++++++++
 4 files changed, 45 insertions(+), 29 deletions(-)
---
base-commit: 861c0981648f5b64c86fd028ee622096eb7af05a
change-id: 20240111-cxl-cper-fixups-dbf61790e4c8

Best regards,
-- 
Ira Weiny <ira.weiny@intel.com>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events
  2024-01-31 23:55 [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing Ira Weiny
@ 2024-01-31 23:55 ` Ira Weiny
  2024-02-01  1:17   ` Alison Schofield
  2024-02-01 16:15   ` Dave Jiang
  2024-01-31 23:55 ` [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's Ira Weiny
  2024-02-03 17:31 ` [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing Ard Biesheuvel
  2 siblings, 2 replies; 10+ messages in thread
From: Ira Weiny @ 2024-01-31 23:55 UTC (permalink / raw)
  To: Dan Williams, Jonathan Cameron
  Cc: Davidlohr Bueso, Dave Jiang, Alison Schofield, Vishal Verma,
	linux-acpi, linux-kernel, linux-efi, linux-cxl, Ira Weiny,
	Jonathan Cameron

Jonathan reports that CXL CPER events dump an extra generic error
message.

	{1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 1
	{1}[Hardware Error]: event severity: recoverable
	{1}[Hardware Error]:  Error 0, type: recoverable
	{1}[Hardware Error]:   section type: unknown, fbcd0a77-c260-417f-85a9-088b1621eba6
	{1}[Hardware Error]:   section length: 0x90
	{1}[Hardware Error]:   00000000: 00000090 00000007 00000000 0d938086 ................
	{1}[Hardware Error]:   00000010: 00100000 00000000 00040000 00000000 ................
	...

CXL events were rerouted though the CXL subsystem for additional
processing.  However, when that work was done it was missed that
cper_estatus_print_section() continued with a generic error message
which is confusing.

Teach CPER print code to ignore printing details of some section types.
Assign the CXL event GUIDs to this set to prevent confusing unknown
prints.

Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
 drivers/acpi/apei/ghes.c    | 26 --------------------------
 drivers/firmware/efi/cper.c | 19 +++++++++++++++++++
 include/linux/cper.h        | 23 +++++++++++++++++++++++
 3 files changed, 42 insertions(+), 26 deletions(-)

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index 7b7c605166e0..fe825a432c5b 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -680,32 +680,6 @@ static void ghes_defer_non_standard_event(struct acpi_hest_generic_data *gdata,
 static DECLARE_RWSEM(cxl_cper_rw_sem);
 static cxl_cper_callback cper_callback;
 
-/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
-
-/*
- * General Media Event Record
- * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
- */
-#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
-	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
-		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
-
-/*
- * DRAM Event Record
- * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
- */
-#define CPER_SEC_CXL_DRAM_GUID						\
-	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
-		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
-
-/*
- * Memory Module Event Record
- * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
- */
-#define CPER_SEC_CXL_MEM_MODULE_GUID					\
-	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
-		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
-
 static void cxl_cper_post_event(enum cxl_event_type event_type,
 				struct cxl_cper_event_rec *rec)
 {
diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
index 35c37f667781..9b3884ff81e6 100644
--- a/drivers/firmware/efi/cper.c
+++ b/drivers/firmware/efi/cper.c
@@ -523,6 +523,17 @@ static void cper_print_tstamp(const char *pfx,
 	}
 }
 
+struct ignore_section {
+	guid_t guid;
+	const char *name;
+};
+
+static const struct ignore_section ignore_sections[] = {
+	{ .guid = CPER_SEC_CXL_GEN_MEDIA_GUID, .name = "CXL General Media Event" },
+	{ .guid = CPER_SEC_CXL_DRAM_GUID, .name = "CXL DRAM Event" },
+	{ .guid = CPER_SEC_CXL_MEM_MODULE_GUID, .name = "CXL Memory Module Event" },
+};
+
 static void
 cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata,
 			   int sec_no)
@@ -543,6 +554,14 @@ cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata
 		printk("%s""fru_text: %.20s\n", pfx, gdata->fru_text);
 
 	snprintf(newpfx, sizeof(newpfx), "%s ", pfx);
+
+	for (int i = 0; i < ARRAY_SIZE(ignore_sections); i++) {
+		if (guid_equal(sec_type, &ignore_sections[i].guid)) {
+			printk("%ssection_type: %s\n", newpfx, ignore_sections[i].name);
+			return;
+		}
+	}
+
 	if (guid_equal(sec_type, &CPER_SEC_PROC_GENERIC)) {
 		struct cper_sec_proc_generic *proc_err = acpi_hest_get_payload(gdata);
 
diff --git a/include/linux/cper.h b/include/linux/cper.h
index c1a7dc325121..265b0f8fc0b3 100644
--- a/include/linux/cper.h
+++ b/include/linux/cper.h
@@ -90,6 +90,29 @@ enum {
 	GUID_INIT(0x667DD791, 0xC6B3, 0x4c27, 0x8A, 0x6B, 0x0F, 0x8E,	\
 		  0x72, 0x2D, 0xEB, 0x41)
 
+/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
+/*
+ * General Media Event Record
+ * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
+ */
+#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
+	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
+		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
+/*
+ * DRAM Event Record
+ * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
+ */
+#define CPER_SEC_CXL_DRAM_GUID						\
+	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
+		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
+/*
+ * Memory Module Event Record
+ * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
+ */
+#define CPER_SEC_CXL_MEM_MODULE_GUID					\
+	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
+		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
+
 /*
  * Flags bits definitions for flags in struct cper_record_header
  * If set, the error has been recovered

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's
  2024-01-31 23:55 [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing Ira Weiny
  2024-01-31 23:55 ` [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events Ira Weiny
@ 2024-01-31 23:55 ` Ira Weiny
  2024-02-01  1:17   ` Alison Schofield
  2024-02-01 16:16   ` Dave Jiang
  2024-02-03 17:31 ` [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing Ard Biesheuvel
  2 siblings, 2 replies; 10+ messages in thread
From: Ira Weiny @ 2024-01-31 23:55 UTC (permalink / raw)
  To: Dan Williams, Jonathan Cameron
  Cc: Davidlohr Bueso, Dave Jiang, Alison Schofield, Vishal Verma,
	linux-acpi, linux-kernel, linux-efi, linux-cxl, Ira Weiny,
	Jonathan Cameron

CPER events don't have UUIDs.  Therefore UUIDs were removed from the
records passed to trace events and replaced with hard coded values.

As pointed out by Jonathan, the new defines for the UUIDs present a more
efficient way to assign UUID in trace records.[1]

Replace memcpy's with the use of static data.

[1] https://lore.kernel.org/all/20240108132325.00000e9c@Huawei.com/

Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
 drivers/cxl/core/trace.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/cxl/core/trace.h b/drivers/cxl/core/trace.h
index 89445435303a..bdf117a33744 100644
--- a/drivers/cxl/core/trace.h
+++ b/drivers/cxl/core/trace.h
@@ -338,7 +338,7 @@ TRACE_EVENT(cxl_general_media,
 
 	TP_fast_assign(
 		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
-		memcpy(&__entry->hdr_uuid, &CXL_EVENT_GEN_MEDIA_UUID, sizeof(uuid_t));
+		__entry->hdr_uuid = CXL_EVENT_GEN_MEDIA_UUID;
 
 		/* General Media */
 		__entry->dpa = le64_to_cpu(rec->phys_addr);
@@ -425,7 +425,7 @@ TRACE_EVENT(cxl_dram,
 
 	TP_fast_assign(
 		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
-		memcpy(&__entry->hdr_uuid, &CXL_EVENT_DRAM_UUID, sizeof(uuid_t));
+		__entry->hdr_uuid = CXL_EVENT_DRAM_UUID;
 
 		/* DRAM */
 		__entry->dpa = le64_to_cpu(rec->phys_addr);
@@ -573,7 +573,7 @@ TRACE_EVENT(cxl_memory_module,
 
 	TP_fast_assign(
 		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
-		memcpy(&__entry->hdr_uuid, &CXL_EVENT_MEM_MODULE_UUID, sizeof(uuid_t));
+		__entry->hdr_uuid = CXL_EVENT_MEM_MODULE_UUID;
 
 		/* Memory Module Event */
 		__entry->event_type = rec->event_type;

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events
  2024-01-31 23:55 ` [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events Ira Weiny
@ 2024-02-01  1:17   ` Alison Schofield
  2024-02-01 11:22     ` Jonathan Cameron
  2024-02-01 16:15   ` Dave Jiang
  1 sibling, 1 reply; 10+ messages in thread
From: Alison Schofield @ 2024-02-01  1:17 UTC (permalink / raw)
  To: Ira Weiny
  Cc: Dan Williams, Jonathan Cameron, Davidlohr Bueso, Dave Jiang,
	Vishal Verma, linux-acpi, linux-kernel, linux-efi, linux-cxl

On Wed, Jan 31, 2024 at 03:55:38PM -0800, Ira Weiny wrote:
> Jonathan reports that CXL CPER events dump an extra generic error
> message.
> 
> 	{1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 1
> 	{1}[Hardware Error]: event severity: recoverable
> 	{1}[Hardware Error]:  Error 0, type: recoverable
> 	{1}[Hardware Error]:   section type: unknown, fbcd0a77-c260-417f-85a9-088b1621eba6
> 	{1}[Hardware Error]:   section length: 0x90
> 	{1}[Hardware Error]:   00000000: 00000090 00000007 00000000 0d938086 ................
> 	{1}[Hardware Error]:   00000010: 00100000 00000000 00040000 00000000 ................
> 	...
> 
> CXL events were rerouted though the CXL subsystem for additional
> processing.  However, when that work was done it was missed that
> cper_estatus_print_section() continued with a generic error message
> which is confusing.
> 
> Teach CPER print code to ignore printing details of some section types.
> Assign the CXL event GUIDs to this set to prevent confusing unknown
> prints.

Reviewed-by: Alison Schofield <alison.schofield@intel.com>


> 
> Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>
> ---
>  drivers/acpi/apei/ghes.c    | 26 --------------------------
>  drivers/firmware/efi/cper.c | 19 +++++++++++++++++++
>  include/linux/cper.h        | 23 +++++++++++++++++++++++
>  3 files changed, 42 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index 7b7c605166e0..fe825a432c5b 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -680,32 +680,6 @@ static void ghes_defer_non_standard_event(struct acpi_hest_generic_data *gdata,
>  static DECLARE_RWSEM(cxl_cper_rw_sem);
>  static cxl_cper_callback cper_callback;
>  
> -/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
> -
> -/*
> - * General Media Event Record
> - * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
> - */
> -#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
> -	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
> -		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
> -
> -/*
> - * DRAM Event Record
> - * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
> - */
> -#define CPER_SEC_CXL_DRAM_GUID						\
> -	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
> -		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
> -
> -/*
> - * Memory Module Event Record
> - * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
> - */
> -#define CPER_SEC_CXL_MEM_MODULE_GUID					\
> -	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
> -		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
> -
>  static void cxl_cper_post_event(enum cxl_event_type event_type,
>  				struct cxl_cper_event_rec *rec)
>  {
> diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
> index 35c37f667781..9b3884ff81e6 100644
> --- a/drivers/firmware/efi/cper.c
> +++ b/drivers/firmware/efi/cper.c
> @@ -523,6 +523,17 @@ static void cper_print_tstamp(const char *pfx,
>  	}
>  }
>  
> +struct ignore_section {
> +	guid_t guid;
> +	const char *name;
> +};
> +
> +static const struct ignore_section ignore_sections[] = {
> +	{ .guid = CPER_SEC_CXL_GEN_MEDIA_GUID, .name = "CXL General Media Event" },
> +	{ .guid = CPER_SEC_CXL_DRAM_GUID, .name = "CXL DRAM Event" },
> +	{ .guid = CPER_SEC_CXL_MEM_MODULE_GUID, .name = "CXL Memory Module Event" },
> +};
> +
>  static void
>  cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata,
>  			   int sec_no)
> @@ -543,6 +554,14 @@ cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata
>  		printk("%s""fru_text: %.20s\n", pfx, gdata->fru_text);
>  
>  	snprintf(newpfx, sizeof(newpfx), "%s ", pfx);
> +
> +	for (int i = 0; i < ARRAY_SIZE(ignore_sections); i++) {
> +		if (guid_equal(sec_type, &ignore_sections[i].guid)) {
> +			printk("%ssection_type: %s\n", newpfx, ignore_sections[i].name);
> +			return;
> +		}
> +	}
> +
>  	if (guid_equal(sec_type, &CPER_SEC_PROC_GENERIC)) {
>  		struct cper_sec_proc_generic *proc_err = acpi_hest_get_payload(gdata);
>  
> diff --git a/include/linux/cper.h b/include/linux/cper.h
> index c1a7dc325121..265b0f8fc0b3 100644
> --- a/include/linux/cper.h
> +++ b/include/linux/cper.h
> @@ -90,6 +90,29 @@ enum {
>  	GUID_INIT(0x667DD791, 0xC6B3, 0x4c27, 0x8A, 0x6B, 0x0F, 0x8E,	\
>  		  0x72, 0x2D, 0xEB, 0x41)
>  
> +/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
> +/*
> + * General Media Event Record
> + * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
> + */
> +#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
> +	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
> +		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
> +/*
> + * DRAM Event Record
> + * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
> + */
> +#define CPER_SEC_CXL_DRAM_GUID						\
> +	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
> +		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
> +/*
> + * Memory Module Event Record
> + * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
> + */
> +#define CPER_SEC_CXL_MEM_MODULE_GUID					\
> +	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
> +		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
> +
>  /*
>   * Flags bits definitions for flags in struct cper_record_header
>   * If set, the error has been recovered
> 
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's
  2024-01-31 23:55 ` [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's Ira Weiny
@ 2024-02-01  1:17   ` Alison Schofield
  2024-02-01 11:23     ` Jonathan Cameron
  2024-02-01 16:16   ` Dave Jiang
  1 sibling, 1 reply; 10+ messages in thread
From: Alison Schofield @ 2024-02-01  1:17 UTC (permalink / raw)
  To: Ira Weiny
  Cc: Dan Williams, Jonathan Cameron, Davidlohr Bueso, Dave Jiang,
	Vishal Verma, linux-acpi, linux-kernel, linux-efi, linux-cxl

On Wed, Jan 31, 2024 at 03:55:39PM -0800, Ira Weiny wrote:
> CPER events don't have UUIDs.  Therefore UUIDs were removed from the
> records passed to trace events and replaced with hard coded values.
> 
> As pointed out by Jonathan, the new defines for the UUIDs present a more
> efficient way to assign UUID in trace records.[1]
> 
> Replace memcpy's with the use of static data.

Reviewed-by: Alison Schofield <alison.schofield@intel.com>


> 
> [1] https://lore.kernel.org/all/20240108132325.00000e9c@Huawei.com/
> 
> Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>
> ---
>  drivers/cxl/core/trace.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/cxl/core/trace.h b/drivers/cxl/core/trace.h
> index 89445435303a..bdf117a33744 100644
> --- a/drivers/cxl/core/trace.h
> +++ b/drivers/cxl/core/trace.h
> @@ -338,7 +338,7 @@ TRACE_EVENT(cxl_general_media,
>  
>  	TP_fast_assign(
>  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_GEN_MEDIA_UUID, sizeof(uuid_t));
> +		__entry->hdr_uuid = CXL_EVENT_GEN_MEDIA_UUID;
>  
>  		/* General Media */
>  		__entry->dpa = le64_to_cpu(rec->phys_addr);
> @@ -425,7 +425,7 @@ TRACE_EVENT(cxl_dram,
>  
>  	TP_fast_assign(
>  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_DRAM_UUID, sizeof(uuid_t));
> +		__entry->hdr_uuid = CXL_EVENT_DRAM_UUID;
>  
>  		/* DRAM */
>  		__entry->dpa = le64_to_cpu(rec->phys_addr);
> @@ -573,7 +573,7 @@ TRACE_EVENT(cxl_memory_module,
>  
>  	TP_fast_assign(
>  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_MEM_MODULE_UUID, sizeof(uuid_t));
> +		__entry->hdr_uuid = CXL_EVENT_MEM_MODULE_UUID;
>  
>  		/* Memory Module Event */
>  		__entry->event_type = rec->event_type;
> 
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events
  2024-02-01  1:17   ` Alison Schofield
@ 2024-02-01 11:22     ` Jonathan Cameron
  0 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2024-02-01 11:22 UTC (permalink / raw)
  To: Alison Schofield
  Cc: Ira Weiny, Dan Williams, Davidlohr Bueso, Dave Jiang,
	Vishal Verma, linux-acpi, linux-kernel, linux-efi, linux-cxl

On Wed, 31 Jan 2024 17:17:00 -0800
Alison Schofield <alison.schofield@intel.com> wrote:

> On Wed, Jan 31, 2024 at 03:55:38PM -0800, Ira Weiny wrote:
> > Jonathan reports that CXL CPER events dump an extra generic error
> > message.
> > 
> > 	{1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 1
> > 	{1}[Hardware Error]: event severity: recoverable
> > 	{1}[Hardware Error]:  Error 0, type: recoverable
> > 	{1}[Hardware Error]:   section type: unknown, fbcd0a77-c260-417f-85a9-088b1621eba6
> > 	{1}[Hardware Error]:   section length: 0x90
> > 	{1}[Hardware Error]:   00000000: 00000090 00000007 00000000 0d938086 ................
> > 	{1}[Hardware Error]:   00000010: 00100000 00000000 00040000 00000000 ................
> > 	...
> > 
> > CXL events were rerouted though the CXL subsystem for additional
> > processing.  However, when that work was done it was missed that
> > cper_estatus_print_section() continued with a generic error message
> > which is confusing.
> > 
> > Teach CPER print code to ignore printing details of some section types.
> > Assign the CXL event GUIDs to this set to prevent confusing unknown
> > prints.  
> 
> Reviewed-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> 
> 
> > 
> > Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > Signed-off-by: Ira Weiny <ira.weiny@intel.com>
> > ---
> >  drivers/acpi/apei/ghes.c    | 26 --------------------------
> >  drivers/firmware/efi/cper.c | 19 +++++++++++++++++++
> >  include/linux/cper.h        | 23 +++++++++++++++++++++++
> >  3 files changed, 42 insertions(+), 26 deletions(-)
> > 
> > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> > index 7b7c605166e0..fe825a432c5b 100644
> > --- a/drivers/acpi/apei/ghes.c
> > +++ b/drivers/acpi/apei/ghes.c
> > @@ -680,32 +680,6 @@ static void ghes_defer_non_standard_event(struct acpi_hest_generic_data *gdata,
> >  static DECLARE_RWSEM(cxl_cper_rw_sem);
> >  static cxl_cper_callback cper_callback;
> >  
> > -/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
> > -
> > -/*
> > - * General Media Event Record
> > - * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
> > - */
> > -#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
> > -	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
> > -		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
> > -
> > -/*
> > - * DRAM Event Record
> > - * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
> > - */
> > -#define CPER_SEC_CXL_DRAM_GUID						\
> > -	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
> > -		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
> > -
> > -/*
> > - * Memory Module Event Record
> > - * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
> > - */
> > -#define CPER_SEC_CXL_MEM_MODULE_GUID					\
> > -	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
> > -		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
> > -
> >  static void cxl_cper_post_event(enum cxl_event_type event_type,
> >  				struct cxl_cper_event_rec *rec)
> >  {
> > diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
> > index 35c37f667781..9b3884ff81e6 100644
> > --- a/drivers/firmware/efi/cper.c
> > +++ b/drivers/firmware/efi/cper.c
> > @@ -523,6 +523,17 @@ static void cper_print_tstamp(const char *pfx,
> >  	}
> >  }
> >  
> > +struct ignore_section {
> > +	guid_t guid;
> > +	const char *name;
> > +};
> > +
> > +static const struct ignore_section ignore_sections[] = {
> > +	{ .guid = CPER_SEC_CXL_GEN_MEDIA_GUID, .name = "CXL General Media Event" },
> > +	{ .guid = CPER_SEC_CXL_DRAM_GUID, .name = "CXL DRAM Event" },
> > +	{ .guid = CPER_SEC_CXL_MEM_MODULE_GUID, .name = "CXL Memory Module Event" },
> > +};
> > +
> >  static void
> >  cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata,
> >  			   int sec_no)
> > @@ -543,6 +554,14 @@ cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata
> >  		printk("%s""fru_text: %.20s\n", pfx, gdata->fru_text);
> >  
> >  	snprintf(newpfx, sizeof(newpfx), "%s ", pfx);
> > +
> > +	for (int i = 0; i < ARRAY_SIZE(ignore_sections); i++) {
> > +		if (guid_equal(sec_type, &ignore_sections[i].guid)) {
> > +			printk("%ssection_type: %s\n", newpfx, ignore_sections[i].name);
> > +			return;
> > +		}
> > +	}
> > +
> >  	if (guid_equal(sec_type, &CPER_SEC_PROC_GENERIC)) {
> >  		struct cper_sec_proc_generic *proc_err = acpi_hest_get_payload(gdata);
> >  
> > diff --git a/include/linux/cper.h b/include/linux/cper.h
> > index c1a7dc325121..265b0f8fc0b3 100644
> > --- a/include/linux/cper.h
> > +++ b/include/linux/cper.h
> > @@ -90,6 +90,29 @@ enum {
> >  	GUID_INIT(0x667DD791, 0xC6B3, 0x4c27, 0x8A, 0x6B, 0x0F, 0x8E,	\
> >  		  0x72, 0x2D, 0xEB, 0x41)
> >  
> > +/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
> > +/*
> > + * General Media Event Record
> > + * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
> > + */
> > +#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
> > +	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
> > +		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
> > +/*
> > + * DRAM Event Record
> > + * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
> > + */
> > +#define CPER_SEC_CXL_DRAM_GUID						\
> > +	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
> > +		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
> > +/*
> > + * Memory Module Event Record
> > + * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
> > + */
> > +#define CPER_SEC_CXL_MEM_MODULE_GUID					\
> > +	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
> > +		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
> > +
> >  /*
> >   * Flags bits definitions for flags in struct cper_record_header
> >   * If set, the error has been recovered
> > 
> > -- 
> > 2.43.0
> >   
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's
  2024-02-01  1:17   ` Alison Schofield
@ 2024-02-01 11:23     ` Jonathan Cameron
  0 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2024-02-01 11:23 UTC (permalink / raw)
  To: Alison Schofield
  Cc: Ira Weiny, Dan Williams, Davidlohr Bueso, Dave Jiang,
	Vishal Verma, linux-acpi, linux-kernel, linux-efi, linux-cxl

On Wed, 31 Jan 2024 17:17:55 -0800
Alison Schofield <alison.schofield@intel.com> wrote:

> On Wed, Jan 31, 2024 at 03:55:39PM -0800, Ira Weiny wrote:
> > CPER events don't have UUIDs.  Therefore UUIDs were removed from the
> > records passed to trace events and replaced with hard coded values.
> > 
> > As pointed out by Jonathan, the new defines for the UUIDs present a more
> > efficient way to assign UUID in trace records.[1]
> > 
> > Replace memcpy's with the use of static data.  
> 
> Reviewed-by: Alison Schofield <alison.schofield@intel.com>

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> 
> 
> > 
> > [1] https://lore.kernel.org/all/20240108132325.00000e9c@Huawei.com/
> > 
> > Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
> > Signed-off-by: Ira Weiny <ira.weiny@intel.com>
> > ---
> >  drivers/cxl/core/trace.h | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/cxl/core/trace.h b/drivers/cxl/core/trace.h
> > index 89445435303a..bdf117a33744 100644
> > --- a/drivers/cxl/core/trace.h
> > +++ b/drivers/cxl/core/trace.h
> > @@ -338,7 +338,7 @@ TRACE_EVENT(cxl_general_media,
> >  
> >  	TP_fast_assign(
> >  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> > -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_GEN_MEDIA_UUID, sizeof(uuid_t));
> > +		__entry->hdr_uuid = CXL_EVENT_GEN_MEDIA_UUID;
> >  
> >  		/* General Media */
> >  		__entry->dpa = le64_to_cpu(rec->phys_addr);
> > @@ -425,7 +425,7 @@ TRACE_EVENT(cxl_dram,
> >  
> >  	TP_fast_assign(
> >  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> > -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_DRAM_UUID, sizeof(uuid_t));
> > +		__entry->hdr_uuid = CXL_EVENT_DRAM_UUID;
> >  
> >  		/* DRAM */
> >  		__entry->dpa = le64_to_cpu(rec->phys_addr);
> > @@ -573,7 +573,7 @@ TRACE_EVENT(cxl_memory_module,
> >  
> >  	TP_fast_assign(
> >  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> > -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_MEM_MODULE_UUID, sizeof(uuid_t));
> > +		__entry->hdr_uuid = CXL_EVENT_MEM_MODULE_UUID;
> >  
> >  		/* Memory Module Event */
> >  		__entry->event_type = rec->event_type;
> > 
> > -- 
> > 2.43.0
> >   
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events
  2024-01-31 23:55 ` [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events Ira Weiny
  2024-02-01  1:17   ` Alison Schofield
@ 2024-02-01 16:15   ` Dave Jiang
  1 sibling, 0 replies; 10+ messages in thread
From: Dave Jiang @ 2024-02-01 16:15 UTC (permalink / raw)
  To: Ira Weiny, Dan Williams, Jonathan Cameron
  Cc: Davidlohr Bueso, Alison Schofield, Vishal Verma, linux-acpi,
	linux-kernel, linux-efi, linux-cxl



On 1/31/24 16:55, Ira Weiny wrote:
> Jonathan reports that CXL CPER events dump an extra generic error
> message.
> 
> 	{1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 1
> 	{1}[Hardware Error]: event severity: recoverable
> 	{1}[Hardware Error]:  Error 0, type: recoverable
> 	{1}[Hardware Error]:   section type: unknown, fbcd0a77-c260-417f-85a9-088b1621eba6
> 	{1}[Hardware Error]:   section length: 0x90
> 	{1}[Hardware Error]:   00000000: 00000090 00000007 00000000 0d938086 ................
> 	{1}[Hardware Error]:   00000010: 00100000 00000000 00040000 00000000 ................
> 	...
> 
> CXL events were rerouted though the CXL subsystem for additional
> processing.  However, when that work was done it was missed that
> cper_estatus_print_section() continued with a generic error message
> which is confusing.
> 
> Teach CPER print code to ignore printing details of some section types.
> Assign the CXL event GUIDs to this set to prevent confusing unknown
> prints.
> 
> Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>

Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
>  drivers/acpi/apei/ghes.c    | 26 --------------------------
>  drivers/firmware/efi/cper.c | 19 +++++++++++++++++++
>  include/linux/cper.h        | 23 +++++++++++++++++++++++
>  3 files changed, 42 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index 7b7c605166e0..fe825a432c5b 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -680,32 +680,6 @@ static void ghes_defer_non_standard_event(struct acpi_hest_generic_data *gdata,
>  static DECLARE_RWSEM(cxl_cper_rw_sem);
>  static cxl_cper_callback cper_callback;
>  
> -/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
> -
> -/*
> - * General Media Event Record
> - * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
> - */
> -#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
> -	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
> -		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
> -
> -/*
> - * DRAM Event Record
> - * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
> - */
> -#define CPER_SEC_CXL_DRAM_GUID						\
> -	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
> -		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
> -
> -/*
> - * Memory Module Event Record
> - * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
> - */
> -#define CPER_SEC_CXL_MEM_MODULE_GUID					\
> -	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
> -		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
> -
>  static void cxl_cper_post_event(enum cxl_event_type event_type,
>  				struct cxl_cper_event_rec *rec)
>  {
> diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
> index 35c37f667781..9b3884ff81e6 100644
> --- a/drivers/firmware/efi/cper.c
> +++ b/drivers/firmware/efi/cper.c
> @@ -523,6 +523,17 @@ static void cper_print_tstamp(const char *pfx,
>  	}
>  }
>  
> +struct ignore_section {
> +	guid_t guid;
> +	const char *name;
> +};
> +
> +static const struct ignore_section ignore_sections[] = {
> +	{ .guid = CPER_SEC_CXL_GEN_MEDIA_GUID, .name = "CXL General Media Event" },
> +	{ .guid = CPER_SEC_CXL_DRAM_GUID, .name = "CXL DRAM Event" },
> +	{ .guid = CPER_SEC_CXL_MEM_MODULE_GUID, .name = "CXL Memory Module Event" },
> +};
> +
>  static void
>  cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata,
>  			   int sec_no)
> @@ -543,6 +554,14 @@ cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata
>  		printk("%s""fru_text: %.20s\n", pfx, gdata->fru_text);
>  
>  	snprintf(newpfx, sizeof(newpfx), "%s ", pfx);
> +
> +	for (int i = 0; i < ARRAY_SIZE(ignore_sections); i++) {
> +		if (guid_equal(sec_type, &ignore_sections[i].guid)) {
> +			printk("%ssection_type: %s\n", newpfx, ignore_sections[i].name);
> +			return;
> +		}
> +	}
> +
>  	if (guid_equal(sec_type, &CPER_SEC_PROC_GENERIC)) {
>  		struct cper_sec_proc_generic *proc_err = acpi_hest_get_payload(gdata);
>  
> diff --git a/include/linux/cper.h b/include/linux/cper.h
> index c1a7dc325121..265b0f8fc0b3 100644
> --- a/include/linux/cper.h
> +++ b/include/linux/cper.h
> @@ -90,6 +90,29 @@ enum {
>  	GUID_INIT(0x667DD791, 0xC6B3, 0x4c27, 0x8A, 0x6B, 0x0F, 0x8E,	\
>  		  0x72, 0x2D, 0xEB, 0x41)
>  
> +/* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
> +/*
> + * General Media Event Record
> + * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
> + */
> +#define CPER_SEC_CXL_GEN_MEDIA_GUID					\
> +	GUID_INIT(0xfbcd0a77, 0xc260, 0x417f,				\
> +		  0x85, 0xa9, 0x08, 0x8b, 0x16, 0x21, 0xeb, 0xa6)
> +/*
> + * DRAM Event Record
> + * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44
> + */
> +#define CPER_SEC_CXL_DRAM_GUID						\
> +	GUID_INIT(0x601dcbb3, 0x9c06, 0x4eab,				\
> +		  0xb8, 0xaf, 0x4e, 0x9b, 0xfb, 0x5c, 0x96, 0x24)
> +/*
> + * Memory Module Event Record
> + * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45
> + */
> +#define CPER_SEC_CXL_MEM_MODULE_GUID					\
> +	GUID_INIT(0xfe927475, 0xdd59, 0x4339,				\
> +		  0xa5, 0x86, 0x79, 0xba, 0xb1, 0x13, 0xb7, 0x74)
> +
>  /*
>   * Flags bits definitions for flags in struct cper_record_header
>   * If set, the error has been recovered
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's
  2024-01-31 23:55 ` [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's Ira Weiny
  2024-02-01  1:17   ` Alison Schofield
@ 2024-02-01 16:16   ` Dave Jiang
  1 sibling, 0 replies; 10+ messages in thread
From: Dave Jiang @ 2024-02-01 16:16 UTC (permalink / raw)
  To: Ira Weiny, Dan Williams, Jonathan Cameron
  Cc: Davidlohr Bueso, Alison Schofield, Vishal Verma, linux-acpi,
	linux-kernel, linux-efi, linux-cxl



On 1/31/24 16:55, Ira Weiny wrote:
> CPER events don't have UUIDs.  Therefore UUIDs were removed from the
> records passed to trace events and replaced with hard coded values.
> 
> As pointed out by Jonathan, the new defines for the UUIDs present a more
> efficient way to assign UUID in trace records.[1]
> 
> Replace memcpy's with the use of static data.
> 
> [1] https://lore.kernel.org/all/20240108132325.00000e9c@Huawei.com/
> 
> Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>

Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
>  drivers/cxl/core/trace.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/cxl/core/trace.h b/drivers/cxl/core/trace.h
> index 89445435303a..bdf117a33744 100644
> --- a/drivers/cxl/core/trace.h
> +++ b/drivers/cxl/core/trace.h
> @@ -338,7 +338,7 @@ TRACE_EVENT(cxl_general_media,
>  
>  	TP_fast_assign(
>  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_GEN_MEDIA_UUID, sizeof(uuid_t));
> +		__entry->hdr_uuid = CXL_EVENT_GEN_MEDIA_UUID;
>  
>  		/* General Media */
>  		__entry->dpa = le64_to_cpu(rec->phys_addr);
> @@ -425,7 +425,7 @@ TRACE_EVENT(cxl_dram,
>  
>  	TP_fast_assign(
>  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_DRAM_UUID, sizeof(uuid_t));
> +		__entry->hdr_uuid = CXL_EVENT_DRAM_UUID;
>  
>  		/* DRAM */
>  		__entry->dpa = le64_to_cpu(rec->phys_addr);
> @@ -573,7 +573,7 @@ TRACE_EVENT(cxl_memory_module,
>  
>  	TP_fast_assign(
>  		CXL_EVT_TP_fast_assign(cxlmd, log, rec->hdr);
> -		memcpy(&__entry->hdr_uuid, &CXL_EVENT_MEM_MODULE_UUID, sizeof(uuid_t));
> +		__entry->hdr_uuid = CXL_EVENT_MEM_MODULE_UUID;
>  
>  		/* Memory Module Event */
>  		__entry->event_type = rec->event_type;
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing
  2024-01-31 23:55 [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing Ira Weiny
  2024-01-31 23:55 ` [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events Ira Weiny
  2024-01-31 23:55 ` [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's Ira Weiny
@ 2024-02-03 17:31 ` Ard Biesheuvel
  2 siblings, 0 replies; 10+ messages in thread
From: Ard Biesheuvel @ 2024-02-03 17:31 UTC (permalink / raw)
  To: Ira Weiny
  Cc: Dan Williams, Jonathan Cameron, Davidlohr Bueso, Dave Jiang,
	Alison Schofield, Vishal Verma, linux-acpi, linux-kernel,
	linux-efi, linux-cxl

On Thu, 1 Feb 2024 at 00:55, Ira Weiny <ira.weiny@intel.com> wrote:
>
> A couple of fixes for the new CXL CPER processing code.
>
> The first is a real bug which should land in rc.  The second could wait
> until the next merge window but it small enough it should be ok to land
> in rc.
>
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>
> ---
> Ira Weiny (2):
>       cxl/cper: Fix errant CPER prints for CXL events
>       cxl/trace: Remove unnecessary memcpy's
>

Thanks, I'll take these via the EFI tree.


>  drivers/acpi/apei/ghes.c    | 26 --------------------------
>  drivers/cxl/core/trace.h    |  6 +++---
>  drivers/firmware/efi/cper.c | 19 +++++++++++++++++++
>  include/linux/cper.h        | 23 +++++++++++++++++++++++
>  4 files changed, 45 insertions(+), 29 deletions(-)
> ---
> base-commit: 861c0981648f5b64c86fd028ee622096eb7af05a
> change-id: 20240111-cxl-cper-fixups-dbf61790e4c8
>
> Best regards,
> --
> Ira Weiny <ira.weiny@intel.com>
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-02-03 17:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-31 23:55 [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing Ira Weiny
2024-01-31 23:55 ` [PATCH 1/2] cxl/cper: Fix errant CPER prints for CXL events Ira Weiny
2024-02-01  1:17   ` Alison Schofield
2024-02-01 11:22     ` Jonathan Cameron
2024-02-01 16:15   ` Dave Jiang
2024-01-31 23:55 ` [PATCH 2/2] cxl/trace: Remove unnecessary memcpy's Ira Weiny
2024-02-01  1:17   ` Alison Schofield
2024-02-01 11:23     ` Jonathan Cameron
2024-02-01 16:16   ` Dave Jiang
2024-02-03 17:31 ` [PATCH 0/2] cxl/cper: Fixes for CXL CPER event processing Ard Biesheuvel

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.