Thread (16 messages) flat view 16 messages, 3 authors, 2017-10-19

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help