Re: [PATCH] NMI handler message passing / work deferral API

From: Dave Peterson
Date: Mon Mar 21 2005 - 14:58:35 EST


On Monday 21 March 2005 11:07 am, Andi Kleen wrote:
> > Yes exactly. That's one reason why I posted the patch. Different
> > sybsystems that need this type of functionality shouldn't have to
> > individually reinvent the wheel. With a single implementation, code
> > is more compact and easier to understand and maintain. I would argue
>
> More compact? Sorry, but even all existing implementations together
> are still far less code than your really complicated subsystem which
> seems quite overengineered for this simple task for me.
>
> Also lockless programming is tricky and I would feel quite uneasy
> about auditing so much code.
>
> > that code maintenance is of particular concern to code such as NMI
> > and machine check handlers because bugs in this type of code can be
> > hard to track down.
>
> Yeah, that is why we use simple, not complex, code in there.

It's really not that much code. When you strip out most of the comments
(including the big 65-line copyright blurb required by my employer), the
entire implementation is less than 300 lines of code. A large part of
the patch is just comments (which in this case I think should be there
because as you say, lockless programming is tricky).

I do think there should be some sort of API that provides the same type
of functionality as my patch. It's much better than having lots of
replicated code. However I am not very attached to my particular
implementation. If you or someone else wants to post a patch that is
simpler yet provides similar functionality, I think that would be great.
Perhaps some code could be borrowed from oprofile or the machine check
handling code or somewhere else.

Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/