On Wed, Mar 23, 2011 at 09:05:51AM -0500, James Bottomley wrote:
quoted
#define kfree_rcu(ptr, rcu_head) \
__kfree_rcu(&((ptr)->rcu_head), offsetof(typeof(*(ptr)), rcu_head))
Isn't this one of those cases where the obvious use of the interface is
definitely wrong?
But it's a compile time breakage if you use it wrong, not runtime.
It's also another nasty pseudo C prototype. I know we do this sort of
thing for container_of et al, but I don't really think we want to extend
it.
We do it for list_entry, list_for_each_entry, etc. And those are very
widespread within the kernel.
--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."