Unverified Commit 43993247 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!7207 cgroup1_writeback:bind blkcg and memcg

Merge Pull Request from: @wangyigen 
 
Automatically bind memcg and blkcg during bufferio speed limit

 
 
Link:https://gitee.com/openeuler/kernel/pulls/7207

 

Reviewed-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents 607f7176 13e5c52d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -153,6 +153,7 @@ CONFIG_MEMCG_MEMFS_INFO=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_V1_WRITEBACK=y
CONFIG_CGROUP_V1_BIND_BLKCG_MEMCG=y
CONFIG_CGROUP_SCHED=y
CONFIG_QOS_SCHED=y
CONFIG_QOS_SCHED_MULTILEVEL=y
+1 −0
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@ CONFIG_MEMCG_MEMFS_INFO=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_V1_WRITEBACK=y
CONFIG_CGROUP_V1_BIND_BLKCG_MEMCG=y
CONFIG_CGROUP_SCHED=y
CONFIG_QOS_SCHED=y
CONFIG_QOS_SCHED_MULTILEVEL=y
+9 −0
Original line number Diff line number Diff line
@@ -359,6 +359,10 @@ static inline void unlocked_inode_to_wb_end(struct inode *inode,
	rcu_read_unlock();
}


void bind_memcg_blkcg_link(struct cgroup_subsys *ss,
			     struct css_set *cset);

#else	/* CONFIG_CGROUP_WRITEBACK */

static inline bool inode_cgwb_enabled(struct inode *inode)
@@ -411,6 +415,11 @@ static inline int inode_congested(struct inode *inode, int cong_bits)
	return wb_congested(&inode_to_bdi(inode)->wb, cong_bits);
}

static inline void bind_memcg_blkcg_link(struct cgroup_subsys *ss,
					   struct css_set *cset)
{
}

#endif	/* CONFIG_CGROUP_WRITEBACK */

static inline int inode_read_congested(struct inode *inode)
+5 −0
Original line number Diff line number Diff line
@@ -993,6 +993,11 @@ config CGROUP_V1_WRITEBACK
	depends on CGROUP_WRITEBACK
	default n

config CGROUP_V1_BIND_BLKCG_MEMCG
        bool "Add switches to bind memcg and blkcg"
        depends on CGROUP_V1_WRITEBACK
        default n

menuconfig CGROUP_SCHED
	bool "CPU controller"
	default n
+10 −0
Original line number Diff line number Diff line
@@ -83,6 +83,12 @@
DEFINE_MUTEX(cgroup_mutex);
DEFINE_SPINLOCK(css_set_lock);

#ifdef CONFIG_CGROUP_V1_BIND_BLKCG_MEMCG
int sysctl_bind_memcg_blkcg_enable = 1;
#else
int sysctl_bind_memcg_blkcg_enable;
#endif

#ifdef CONFIG_PROVE_RCU
EXPORT_SYMBOL_GPL(cgroup_mutex);
EXPORT_SYMBOL_GPL(css_set_lock);
@@ -2558,6 +2564,10 @@ static int cgroup_migrate_execute(struct cgroup_mgctx *mgctx)
				tset->ssid = ssid;
				ss->attach(tset);
			}
			if (sysctl_bind_memcg_blkcg_enable) {
				list_for_each_entry(cset, &tset->dst_csets, mg_node)
					bind_memcg_blkcg_link(ss, cset);
			}
		} while_each_subsys_mask();
	}

Loading