Re: [PATCH -v2 7/7] x86, NMI, Remove do_nmi_callback logic

Huang Ying
2010-09-30T05:21:18Z

On Thu, 2010-09-30 at 12:04 +0800, Don Zickus wrote:
> On Wed, Sep 29, 2010 at 02:55:58PM +0800, huang ying wrote:
> > Hi, Don,
> >
> > I think we all agree that to use order to determine the reason/source
> > of NMI. The difference is that I want to keep as many direct calls in
> > default_do_nmi() as possible, while you guys want to wrap almost all
> > code in default_do_nmi() into notifier handler and leave only one
> > notify_die() in defualt_do_nmi(). And I want to use different die_val
> > (and their calling order in default_do_nmi()) to determine the order
> > while you guys want to use priority (based on its value) to determine
> > the order.
>
> Well, I just wanted to see if we can minimize the number of times we
> walked the die_chain. Priorities was an interesting idea, I am not sure
> it works out. Registering two handlers, seems clunky. But I am open to
> the discussions.

die_chain is used for multiple purposes now.

Although I don't like the idea. I think it may be possible to use just
one walking of die_chain to determine the source/reason of NMI.

But we need several walking of die_chain after determining the
source/reason and before the default processing. Such as DIE_NMIWATCHDOG
before go panic.

> > On the other hand, I think we should call corresponding DIE_NMIxxx
> > before the default operations, such as for watchdog, call
> > DIE_NMIWATCHDOG before go panic, for unknown nmi, call DIE_NMIUNKNOWN
> > before the default processing (may panic).
> >
> > I think it is important to distinguish between die chain used to
> > determine the source/reason of NMI and the die chain used to see if
> > any other driver wanted to do some processing before the default
> > operation.
>
> I guess I still prefer to take your patch set with its change and then
> layer any new ideas on top. I have a feeling this discussion could go on
> forever regarding how die_chains can work.

Yes. I will send out a new version soon.

Best Regards,
Huang Ying