[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <987664A83D2D224EAE907B061CE93D5301D5D0595B@orsmsx505.amr.corp.intel.com>
Date: Tue, 24 May 2011 09:57:46 -0700
From: "Luck, Tony" <tony.luck@...el.com>
To: Ingo Molnar <mingo@...e.hu>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Huang, Ying" <ying.huang@...el.com>,
Andi Kleen <andi@...stfloor.org>,
Borislav Petkov <bp@...en8.de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Mauro Carvalho Chehab <mchehab@...hat.com>
Subject: RE: [RFC 0/9] mce recovery for Sandy Bridge server
Other points noted - I'll go look at the previous discussion threads
you gave me links to.
I do want to comment on this point:
> Creating a callback there would be a good place to do the TIF_MCE work and also
> to extract any events that got queued by other NMIs. Note that more events
> might be queued by further NMIs while we are processing the MCE path - while
> with the task->mce_error_pfn hack we are limited to a single pending event only
> and subsequent NMIs will overwrite this value!
I wasn't very happy with task->mce_error_pfn either - but being overwritten
is not one of its flaws. The task that stumbled on the error must not be
run until the error is dealt with - any other NMIs for other errors must
be happening to other tasks (who have their own task->mce_error_pfn).
> A happy side effect is that the TIF_MCE_NOTIFY hack could go away as well.
We need some way to stop the task that found the error dead in its
tracks - if it tripped over a data error, then running it will just trip
over the same error again. If it had a memory error during an instruction
fetch we have no place to return to.
So can we talk about this part for a while before returning to the
"how to report this" discussion?
So here's the situation - we are in the NMI handler when we find from
looking at the machine check bank registers that we have a recoverable
error. We know the physical address, and we know the task (which might
have been in user or kernel context). I can package that information
into a perf/event ... but then how can I mark the current task as
not-fit-for-execution?
-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists