[lkml]   [2005]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] NMI handler message passing / work deferral API
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.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:11    [W:0.042 / U:1.588 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site