forked from luck/tmp_suning_uos_patched
39d3e7584a
Added rdma cgroup controller that does accounting, limit enforcement on rdma/IB resources. Added rdma cgroup header file which defines its APIs to perform charging/uncharging functionality. It also defined APIs for RDMA/IB stack for device registration. Devices which are registered will participate in controller functions of accounting and limit enforcements. It define rdmacg_device structure to bind IB stack and RDMA cgroup controller. RDMA resources are tracked using resource pool. Resource pool is per device, per cgroup entity which allows setting up accounting limits on per device basis. Currently resources are defined by the RDMA cgroup. Resource pool is created/destroyed dynamically whenever charging/uncharging occurs respectively and whenever user configuration is done. Its a tradeoff of memory vs little more code space that creates resource pool object whenever necessary, instead of creating them during cgroup creation and device registration time. Signed-off-by: Parav Pandit <pandit.parav@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
73 lines
1.1 KiB
C
73 lines
1.1 KiB
C
/*
|
|
* List of cgroup subsystems.
|
|
*
|
|
* DO NOT ADD ANY SUBSYSTEM WITHOUT EXPLICIT ACKS FROM CGROUP MAINTAINERS.
|
|
*/
|
|
|
|
/*
|
|
* This file *must* be included with SUBSYS() defined.
|
|
*/
|
|
|
|
#if IS_ENABLED(CONFIG_CPUSETS)
|
|
SUBSYS(cpuset)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_SCHED)
|
|
SUBSYS(cpu)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_CPUACCT)
|
|
SUBSYS(cpuacct)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_BLK_CGROUP)
|
|
SUBSYS(io)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_MEMCG)
|
|
SUBSYS(memory)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_DEVICE)
|
|
SUBSYS(devices)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_FREEZER)
|
|
SUBSYS(freezer)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_NET_CLASSID)
|
|
SUBSYS(net_cls)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_PERF)
|
|
SUBSYS(perf_event)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_NET_PRIO)
|
|
SUBSYS(net_prio)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_HUGETLB)
|
|
SUBSYS(hugetlb)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_PIDS)
|
|
SUBSYS(pids)
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_CGROUP_RDMA)
|
|
SUBSYS(rdma)
|
|
#endif
|
|
|
|
/*
|
|
* The following subsystems are not supported on the default hierarchy.
|
|
*/
|
|
#if IS_ENABLED(CONFIG_CGROUP_DEBUG)
|
|
SUBSYS(debug)
|
|
#endif
|
|
|
|
/*
|
|
* DO NOT ADD ANY SUBSYSTEM WITHOUT EXPLICIT ACKS FROM CGROUP MAINTAINERS.
|
|
*/
|