On Tue, Apr 10, 2018 at 12:45:56PM -0500, Christopher Lameter wrote: > On Tue, 10 Apr 2018, Matthew Wilcox wrote: > > > > How do you envision dealing with the SLAB_TYPESAFE_BY_RCU slab caches? > > > Those must have a defined state of the objects at all times and a constructor is > > > required for that. And their use of RCU is required for numerous lockless > > > lookup algorithms in the kernhel. > > > > Not at all times. Only once they've been used. Re-constructing them > > once they've been used might break the rcu typesafety, I suppose ... > > would need to examine the callers. > > Objects can be freed and reused and still be accessed from code that > thinks the object is the old and not the new object.... Yes, I know, that's the point of RCU typesafety. My point is that an object *which has never been used* can't be accessed. So you don't *need* a constructor.