Messages in this thread | | | Date | Tue, 10 Apr 2018 10:50:12 -0700 | From | Matthew Wilcox <> | Subject | Re: [PATCH 1/2] slab: __GFP_ZERO is incompatible with a constructor |
| |
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.
| |