mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 02:26:44 +07:00
8af01f56a0
The names of the two struct cgroup_subsys_state accessors - cgroup_subsys_state() and task_subsys_state() - are somewhat awkward. The former clashes with the type name and the latter doesn't even indicate it's somehow related to cgroup. We're about to revamp large portion of cgroup API, so, let's rename them so that they're less awkward. Most per-controller usages of the accessors are localized in accessor wrappers and given the amount of scheduled changes, this isn't gonna add any noticeable headache. Rename cgroup_subsys_state() to cgroup_css() and task_subsys_state() to task_css(). This patch is pure rename. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
74 lines
1.5 KiB
C
74 lines
1.5 KiB
C
/*
|
|
* cls_cgroup.h Control Group Classifier
|
|
*
|
|
* Authors: Thomas Graf <tgraf@suug.ch>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the Free
|
|
* Software Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
*/
|
|
|
|
#ifndef _NET_CLS_CGROUP_H
|
|
#define _NET_CLS_CGROUP_H
|
|
|
|
#include <linux/cgroup.h>
|
|
#include <linux/hardirq.h>
|
|
#include <linux/rcupdate.h>
|
|
|
|
#if IS_ENABLED(CONFIG_NET_CLS_CGROUP)
|
|
struct cgroup_cls_state
|
|
{
|
|
struct cgroup_subsys_state css;
|
|
u32 classid;
|
|
};
|
|
|
|
extern void sock_update_classid(struct sock *sk);
|
|
|
|
#if IS_BUILTIN(CONFIG_NET_CLS_CGROUP)
|
|
static inline u32 task_cls_classid(struct task_struct *p)
|
|
{
|
|
u32 classid;
|
|
|
|
if (in_interrupt())
|
|
return 0;
|
|
|
|
rcu_read_lock();
|
|
classid = container_of(task_css(p, net_cls_subsys_id),
|
|
struct cgroup_cls_state, css)->classid;
|
|
rcu_read_unlock();
|
|
|
|
return classid;
|
|
}
|
|
#elif IS_MODULE(CONFIG_NET_CLS_CGROUP)
|
|
static inline u32 task_cls_classid(struct task_struct *p)
|
|
{
|
|
struct cgroup_subsys_state *css;
|
|
u32 classid = 0;
|
|
|
|
if (in_interrupt())
|
|
return 0;
|
|
|
|
rcu_read_lock();
|
|
css = task_css(p, net_cls_subsys_id);
|
|
if (css)
|
|
classid = container_of(css,
|
|
struct cgroup_cls_state, css)->classid;
|
|
rcu_read_unlock();
|
|
|
|
return classid;
|
|
}
|
|
#endif
|
|
#else /* !CGROUP_NET_CLS_CGROUP */
|
|
static inline void sock_update_classid(struct sock *sk)
|
|
{
|
|
}
|
|
|
|
static inline u32 task_cls_classid(struct task_struct *p)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif /* CGROUP_NET_CLS_CGROUP */
|
|
#endif /* _NET_CLS_CGROUP_H */
|