Re: [PATCH v4 5/5] powerpc/mce: hookup memory_failure for UE errors
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-10-16 12:07:10
Balbir Singh [off-list ref] writes:
On Mon, Oct 16, 2017 at 4:38 PM, Michael Ellerman [off-list ref] wrote:quoted
Balbir Singh [off-list ref] writes:quoted
If we are in user space and hit a UE error, we now have the basic infrastructure to walk the page tables and find out the effective address that was accessed, since the DAR is not valid. We use a work_queue content to hookup the bad pfn, any other context causes problems, since memory_failure itself can call into schedule() via lru_drain_ bits. We could probably poison the struct page to avoid a race between detection and taking corrective action. Signed-off-by: Balbir Singh <bsingharora@gmail.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> --- arch/powerpc/kernel/mce.c | 70 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 3 deletions(-)I'm not sure why this is in mce.c but the rest was in mce_power.c ?The way the code is organized is that save_mce_event is implemented here and called from mce_power.c. save_mce_event() does the processing of the event.
save_mce_event() is only called from mce_power.c :/ I'd be happy if it was mce_real_mode.c and mce.c, that would be a good distinction to make. Though even then, most of the code is Book3s64 specific I think so maybe it shouldn't be in just mce.c. Anyway I'll merge this and we can improve things later. cheers