[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAC=cRTNSR+DiZiCLZUwksb7drYLgMw=reHjLuax8i8WFVp_Mag@mail.gmail.com>
Date: Fri, 9 Sep 2011 10:23:21 +0800
From: huang ying <huang.ying.caritas@...il.com>
To: "Luck, Tony" <tony.luck@...el.com>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
Borislav Petkov <bp@...64.org>,
Hidetoshi Seto <seto.hidetoshi@...fujitsu.com>
Subject: Re: [PATCH 1/5] x86, mce: rework use of TIF_MCE_NOTIFY
On Thu, Sep 1, 2011 at 6:25 AM, Luck, Tony <tony.luck@...el.com> wrote:
> From: "Luck, Tony" <tony.luck@...el.com>
>
> From: Hidetoshi Seto <seto.hidetoshi@...fujitsu.com>
>
> The basic flow of MCE handler is summarized as follows:
> 1) from NMI context:
> check hardware error registers, determine error severity,
> and then panic or request non-NMI context by irq_work() to
> continue the system.
> 2) from (irq) context:
> call non-NMI safe functions,
> wake up loggers and schedule work if required
> 3) from worker thread:
> process some time-consuming works like memory poisoning.
>
> TIF_MCE_NOTIFY flag is relatively legacy and have used to do tasks of
> 2) and 3) on the thread context that interrupted by MCE. However now
> use of irq_work() and work-queue is enough for these tasks, so this
> patch removes duplicated tasks in mce_notify_process().
Sorry for late.
Why do you think work-queue is enough for these tasks? Work-queue
thread may have low priority. But the hardware error should be
processed as soon as possible for better error containment. So I
think it is still a good idea to process error before returning to
user space. That likes scheduling to the work directly before
returning to user space. We can use "return to user notifier" to
implement this.
Best Regards,
Huang Ying
--
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