Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jul 16, 2017 at 10:07:20PM -0400, Tejun Heo wrote:
> 
> v4: - Updated to marking each cgroup threaded as suggested by PeterZ.
> 

> +On creation, a cgroup is always a domain cgroup and can be made
> +threaded by writing "threaded" to the "cgroup.type" file.  The
> +operation is single direction::
> +
> +  # echo threaded > cgroup.type
> +
> +Once threaded, the cgroup can't be made a domain again.  To enable the
> +thread mode, the following conditions must be met.
> +
> +- As the cgroup will join the parent's resource domain.  The parent
> +  must either be a valid (threaded) domain or a threaded cgroup.
> +
> +- The cgroup must be empty.  No enabled controllers, child cgroups or
> +  processes.
> +
> +Topology-wise, a cgroup can be in an invalid state.  Please consider
> +the following toplogy::
> +
> +  A (threaded domain) - B (threaded) - C (domain, just created)
> +
> +C is created as a domain but isn't connected to a parent which can
> +host child domains.  C can't be used until it is turned into a
> +threaded cgroup.  "cgroup.type" file will report "domain (invalid)" in
> +these cases.  Operations which fail due to invalid topology use
> +EOPNOTSUPP as the errno.
> +
> +A domain cgroup is turned into a threaded domain when one of its child
> +cgroup becomes threaded or threaded controllers are enabled in the
> +"cgroup.subtree_control" file while there are processes in the cgroup.
> +A threaded domain reverts to a normal domain when the conditions
> +clear.

AFAICT this is not in fact what I suggested... :/

My proposal did not have that invalid state. It would simply refuse to
change the type from thread to domain in the case where the parent is
not a domain.

Also, my proposal maintained the normal property inheritance rules. A
child cgroup's creation 'type' would be that of its parent and not
always be 'domain'.

Let me read more (and more careful) to see if there's other things.
--
To unsubscribe from this list: send the line "unsubscribe cgroups" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux