Re: [PATCH 1/2] cgroup: Add generation number with cgroup id

From: Tejun Heo
Date: Fri Oct 25 2019 - 07:06:29 EST


Hello,

On Fri, Oct 25, 2019 at 05:30:35PM +0900, Namhyung Kim wrote:
> > Any chance I can persuade you into making this conversion? idr is
> > exactly the wrong data structure to use for cyclic allocations. We've
> > been doing it mostly for historical reasons but I really hope we can
> > move away from it. These lookups aren't in super hot paths and doing
> > locked lookups should be fine.
>
> As you know, it entails change in kernfs id and its users.
> And I really want to finish the perf cgroup sampling work first.
> Can I work on this after the perf work is done?

Sure, but I think we should get the userland visible behaviors right.
Ignoring implementation details:

* cgroup vs. css IDs doesn't matter for now. css IDs aren't visible
to userland anyway and it could be that keeping using idr as-is or
always using 64bit IDs is the better solution for them.

* On 32bit ino setups, 32bit ino + gen as cgroup and export fs IDs.

* On 64bit ino setups, 64bit unique ino (allocated whichever way) + 0
gen as cgroup and export fs IDs.

Thanks.

--
tejun