Balbir Singh <bsinghar...@gmail.com> writes: > On Mon, Oct 16, 2017 at 4:38 PM, Michael Ellerman <m...@ellerman.id.au> wrote: >> Balbir Singh <bsinghar...@gmail.com> writes: >> >>> 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 <bsinghar...@gmail.com> >>> Reviewed-by: Nicholas Piggin <npig...@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