Message ID | 20240329063614.362763-5-ruansy.fnst@fujitsu.com |
---|---|
State | New, archived |
Headers | show |
Series | cxl: add poison event handler | expand |
On Fri, Mar 29, 2024 at 02:36:12PM +0800, Shiyang Ruan wrote: > Poison injection from debugfs is silent too. Add calling > cxl_mem_report_poison() to make it able to do memory_failure(). Curious as to why it is silent? Will a GMER poison event occur and trigger the path to report it via memory_failure? > > Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com> > --- > drivers/cxl/core/memdev.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c > index e976141ca4a9..b0dcbe6f1004 100644 > --- a/drivers/cxl/core/memdev.c > +++ b/drivers/cxl/core/memdev.c > @@ -366,6 +366,7 @@ int cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa) > .length = cpu_to_le32(1), > }; > trace_cxl_poison(cxlmd, cxlr, &record, 0, 0, CXL_POISON_TRACE_INJECT); > + cxl_mem_report_poison(cxlmd, cxlr, &record); > out: > up_read(&cxl_dpa_rwsem); > up_read(&cxl_region_rwsem); > -- > 2.34.1 > >
Shiyang Ruan wrote: > Poison injection from debugfs is silent too. Add calling > cxl_mem_report_poison() to make it able to do memory_failure(). Why does this needs to be signalled? It is a debug interface, the debugger can also trigger a read after the injection, or trigger page soft-offline.
在 2024/3/30 9:52, Dan Williams 写道: > Shiyang Ruan wrote: >> Poison injection from debugfs is silent too. Add calling >> cxl_mem_report_poison() to make it able to do memory_failure(). > > Why does this needs to be signalled? It is a debug interface, the > debugger can also trigger a read after the injection, or trigger page > soft-offline. I was thinking that the poison injection should trigger a chain of events. So, for debugfs they should be independent, right? I wasn't aware of this. Will drop this patch. -- Thanks, Ruan.
diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c index e976141ca4a9..b0dcbe6f1004 100644 --- a/drivers/cxl/core/memdev.c +++ b/drivers/cxl/core/memdev.c @@ -366,6 +366,7 @@ int cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa) .length = cpu_to_le32(1), }; trace_cxl_poison(cxlmd, cxlr, &record, 0, 0, CXL_POISON_TRACE_INJECT); + cxl_mem_report_poison(cxlmd, cxlr, &record); out: up_read(&cxl_dpa_rwsem); up_read(&cxl_region_rwsem);
Poison injection from debugfs is silent too. Add calling cxl_mem_report_poison() to make it able to do memory_failure(). Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com> --- drivers/cxl/core/memdev.c | 1 + 1 file changed, 1 insertion(+)