Messages in this thread | | | Date | Mon, 18 Aug 2014 09:37:57 -0700 | From | "Paul E. McKenney" <> | Subject | Re: slub/debugobjects: lockup when freeing memory |
| |
On Thu, Jun 19, 2014 at 03:19:39PM -0500, Christoph Lameter wrote: > On Thu, 19 Jun 2014, Thomas Gleixner wrote: > > > Well, no. Look at the callchain: > > > > __call_rcu > > debug_object_activate > > rcuhead_fixup_activate > > debug_object_init > > kmem_cache_alloc > > > > So call rcu activates the object, but the object has no reference in > > the debug objects code so the fixup code is called which inits the > > object and allocates a reference .... > > So we need to init the object in the page struct before the __call_rcu?
And the needed APIs are now in mainline:
void init_rcu_head(struct rcu_head *head); void destroy_rcu_head(struct rcu_head *head);
Over to you, Christoph! ;-)
Thanx, Paul
| |