On Tue, Mar 22, 2011 at 11:50:14PM -0700, Paul E. McKenney wrote: > On Tue, Mar 22, 2011 at 10:28:33AM -0700, Robert Love wrote: > > On Thu, 2011-03-17 at 20:41 -0700, Lai Jiangshan wrote: > > > - call_rcu(&rdata->rcu, fc_rport_free_rcu); > > > + kfree_rcu(rdata, rcu); > > > > I think this last line should be: > > > > kfree_rcu(rdata, &rdata->rcu); > > Hello, Robert, > > I believe that it is correct as is. The kfree_rcu() definition is as > follows: > > #define kfree_rcu(ptr, rcu_head) \ > __kfree_rcu(&((ptr)->rcu_head), offsetof(typeof(*(ptr)), rcu_head)) > > Then __kfree_rcu() encodes the offset into the rcu_head so that it can > be handled properly at the end of the grace period. To be fair to Robert, I had the same thought, but decided to check the definition of kfree_rcu before I made the same comment. Unfortunately, the definition of kfree_rcu is still not in Linus' tree (and there's no indication in the patch series about where to find the definition). It would have been better if kfree_rcu were patch 1/n in the series, then we'd've been able to review it more effectively. Any idea when kfree_rcu will be submitted to Linus? -- 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." -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html