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. Balbir Singh.