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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/