Subject: Re: [RCU PATCH 06/14] net: sched: fw use RCU

From: "Paul E. McKenney" <[email-masked]>
Date: Thu, 13 Mar 2014 14:15:09 -0700

On Thu, Mar 13, 2014 at 01:56:43PM -0700, Eric Dumazet wrote:
> On Thu, 2014-03-13 at 13:22 -0700, Paul E. McKenney wrote:
> 
> > Hmmm...  You know, the offset that kfree uses is a byte offset.  I see
> > no reason why any of the rcu_head structures should be misaligned.  If
> > HTSIZE is too big by only a factor of four or smaller, would the following
> > (untested) patch to RCU be appropriate?
> > 
> > 							Thanx, Paul
> > 
> > ------------------------------------------------------------------------
> > 
> > rcu: Increase kfree_rcu() offset range
> > 
> > The kfree_rcu() function operates by placing an offset into the rcu_head
> > structure in place of the function pointer that is normally there.
> > This offset cannot exceed 4095, on the theory that no Linux kernel will
> > ever have executable code in page zero.  However, the rcu_head structure
> > contains a pair of function pointers, and should never be misaligned.
> > This commit therefore divides the offset by the size of a pointer when
> > being placed into the rcu_head structure, and multiplies it by this
> > same constant when pulling it out.
> > 
> > Signed-off-by: Paul E. McKenney <[email-masked]>
> 
> SGTM, thanks Paul.
> 
> Reviewed-by: Eric Dumazet <[email-masked]>

Very good, thank you!

John, could you please give it a try with that rcu_head structure
moved to the end and let me know how it goes?

							Thanx, Paul