Re: [RFC PATCH] rcu: introduce kfree_rcu()

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Lai Jiangshan
Date: Thursday, September 18, 2008 - 6:04 pm

Paul E. McKenney wrote:

We save a rcu_barrier() only when all rcu callback defined in this
module are trivial callback and we use kfree_rcu to instead them.

trivial callbacks are the most common callbacks, so some module may used
trivial callback only.


I did not have stats on the kernel text size, I think these cache
missing are caused by lots of different trivial callbacks in everywhere,
not too big kernel text.


(unsigned long)head->func is always <= 4095, not 14K or 32K.
we just guaranteed not to have kernel text in the low 4k of memory.

the real offset is (sizeof(void *) * (unsigned long)head->func),
it's 16K or 32K.


Yes, kernel pointers have redundant information, we use the low 4k
as offset. when ->func < 4k, it stand for offset, when ->func >= 4k,
it stand for function pointer.



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH] rcu: introduce kfree_rcu(), Lai Jiangshan, (Wed Sep 17, 9:18 pm)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Andrew Morton, (Wed Sep 17, 9:37 pm)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Paul E. McKenney, (Wed Sep 17, 11:44 pm)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Lai Jiangshan, (Thu Sep 18, 1:59 am)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Manfred Spraul, (Thu Sep 18, 9:52 am)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Manfred Spraul, (Thu Sep 18, 9:56 am)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Paul E. McKenney, (Thu Sep 18, 10:15 am)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Paul E. McKenney, (Thu Sep 18, 10:46 am)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Lai Jiangshan, (Thu Sep 18, 6:04 pm)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Lai Jiangshan, (Thu Sep 18, 7:31 pm)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Paul E. McKenney, (Thu Sep 18, 8:58 pm)
Re: [RFC PATCH] rcu: introduce kfree_rcu(), Manfred Spraul, (Fri Sep 19, 9:03 am)