[LTP] [PATCH] cpuset_inherit_test: Add cgroup.clone_children swith for cpuset.cpus and mems

Yang Xu xuyang2018.jy@cn.fujitsu.com
Tue Aug 25 04:07:24 CEST 2020


Hi Li

Do you have some comments for this patch?

Best Regards
Yang Xu
> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> ---
>   .../kernel/controllers/cpuset/cpuset_funcs.sh |  8 +-
>   .../cpuset_inherit_testset.sh                 | 82 +++++++++++--------
>   2 files changed, 55 insertions(+), 35 deletions(-)
> 
> diff --git a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> index 935a41ed0..6706561b2 100755
> --- a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> +++ b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> @@ -32,12 +32,14 @@ if [ -f "/sys/devices/system/node/has_high_memory" ]; then
>   else
>   	N_NODES="`cat /sys/devices/system/node/has_normal_memory`"
>   fi
> +mem_string="$N_NODES"
>   N_NODES=${N_NODES#*-*}
>   N_NODES=$(($N_NODES + 1))
>   
>   CPUSET="/dev/cpuset"
>   CPUSET_TMP="/tmp/cpuset_tmp"
> -
> +CLONE_CHILDREN="/dev/cpuset/cgroup.clone_children"
> +CHILDREN_VALUE="0"
>   HOTPLUG_CPU="1"
>   
>   cpuset_log()
> @@ -134,6 +136,8 @@ setup()
>   		tst_brkm TFAIL "Could not mount cgroup filesystem with"\
>   					" cpuset on $CPUSET..Exiting test"
>   	fi
> +
> +	CHILDREN_VALUE="`cat $CLONE_CHILDREN`"
>   }
>   
>   # Write the cleanup function
> @@ -144,6 +148,8 @@ cleanup()
>   		return 0
>   	}
>   
> +	echo $CHILDREN_VALUE > $CLONE_CHILDREN
> +
>   	find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read subdir
>   	do
>   		while read pid
> diff --git a/testcases/kernel/controllers/cpuset/cpuset_inherit_test/cpuset_inherit_testset.sh b/testcases/kernel/controllers/cpuset/cpuset_inherit_test/cpuset_inherit_testset.sh
> index 1b4f314f9..2facf3a0e 100755
> --- a/testcases/kernel/controllers/cpuset/cpuset_inherit_test/cpuset_inherit_testset.sh
> +++ b/testcases/kernel/controllers/cpuset/cpuset_inherit_test/cpuset_inherit_testset.sh
> @@ -23,7 +23,7 @@
>   ################################################################################
>   
>   export TCID="cpuset_inherit"
> -export TST_TOTAL=27
> +export TST_TOTAL=33
>   export TST_COUNT=1
>   
>   . cpuset_funcs.sh
> @@ -44,10 +44,13 @@ cfile_name=
>   base_op_write_and_test()
>   {
>   	local write_file="$1"
> -	local write_string="$2"
> -	local expect_string="$3"
> +	local inherit_value="$2"
> +	local write_string="$3"
> +	local expect_string="$4"
>   	local return_result=
>   
> +	echo $inherit_value > $CLONE_CHILDREN
> +
>   	mkdir -p "$(dirname $write_file)" || {
>   		tst_brkm TFAIL "Failed to mkdir -p $(basename $write_file)"
>   		return 1
> @@ -103,13 +106,21 @@ inherit_test()
>   test_cpus()
>   {
>   	cfile_name="cpus"
> -	while read cpus result
> +	let "num=$nr_cpus-1"
> +	cpu_string="0-$num"
> +	if [ $nr_cpus -eq 1 ]; then
> +		cpu_string="0"
> +	fi
> +	while read inherit cpus result
>   	do
> -		inherit_test "$CPUSET/1/cpuset.cpus" "$cpus" "$result"
> +		inherit_test "$CPUSET/1/cpuset.cpus" "$inherit" "$cpus" "$result"
>   	done <<- EOF
> -		NULL					EMPTY
> -		0					EMPTY
> -		$cpus_all				EMPTY
> +		0	NULL					EMPTY
> +		0	0					EMPTY
> +		0	$cpus_all				EMPTY
> +		1	NULL					EMPTY
> +		1	0					0
> +		1	$cpus_all				$cpu_string
>   	EOF
>   	# while read cpus result
>   }
> @@ -117,13 +128,16 @@ test_cpus()
>   test_mems()
>   {
>   	cfile_name="mems"
> -	while read mems result
> +	while read inherit mems result
>   	do
> -		inherit_test "$CPUSET/1/cpuset.mems" "$mems" "$result"
> +		inherit_test "$CPUSET/1/cpuset.mems" "$inherit" "$mems" "$result"
>   	done <<- EOF
> -		NULL					EMPTY
> -		0					EMPTY
> -		$mems_all				EMPTY
> +		0	NULL					EMPTY
> +		0	0					EMPTY
> +		0	$mems_all				EMPTY
> +		1	NULL					EMPTY
> +		1	0					0
> +		1	$mems_all				$mem_string
>   	EOF
>   	# while read mems result
>   }
> @@ -135,12 +149,12 @@ test_three_result_similar_flags()
>   			memory_migrate
>   	do
>   		cfile_name="$filename"
> -		while read flags result
> +		while read inherit flags result
>   		do
> -			inherit_test "$CPUSET/1/cpuset.$filename" "$flags" "$result"
> +			inherit_test "$CPUSET/1/cpuset.$filename" "$inherit" "$flags" "$result"
>   		done <<- EOF
> -			0	0
> -			1	0
> +			0	0	0
> +			0	1	0
>   		EOF
>   		# while read flags, result
>   	done # for filename in flagfiles
> @@ -152,12 +166,12 @@ test_spread_flags()
>   	for filename in memory_spread_page memory_spread_slab
>   	do
>   		cfile_name="$filename"
> -		while read flags result
> +		while read inherit flags result
>   		do
> -			inherit_test "$CPUSET/1/cpuset.$filename" "$flags" "$result"
> +			inherit_test "$CPUSET/1/cpuset.$filename" "$inherit" "$flags" "$result"
>   		done <<- EOF
> -			0	0
> -			1	1
> +			0	0	0
> +			0	1	1
>   		EOF
>   		# while read flags, result
>   	done # for filename in flagfiles
> @@ -166,12 +180,12 @@ test_spread_flags()
>   test_sched_load_balance_flag()
>   {
>   	cfile_name="sched_load_balance"
> -	while read flag result
> +	while read inherit flag result
>   	do
> -		inherit_test "$CPUSET/1/cpuset.sched_load_balance" "$flag" "$result"
> +		inherit_test "$CPUSET/1/cpuset.sched_load_balance" "$inherit" "$flag" "$result"
>   	done <<- EOF
> -		0	1
> -		1	1
> +		0	0	1
> +		0	1	1
>   	EOF
>   	# while read mems result
>   }
> @@ -179,17 +193,17 @@ test_sched_load_balance_flag()
>   test_domain()
>   {
>   	cfile_name="sched_relax_domain_level"
> -	while read domain_level result
> +	while read inherit domain_level result
>   	do
> -		inherit_test "$CPUSET/1/cpuset.sched_relax_domain_level" "$domain_level" "$result"
> +		inherit_test "$CPUSET/1/cpuset.sched_relax_domain_level" "$inherit" "$domain_level" "$result"
>   	done <<- EOF
> -		-1	-1
> -		0	-1
> -		1	-1
> -		2	-1
> -		3	-1
> -		4	-1
> -		5	-1
> +		0	-1	-1
> +		0	0	-1
> +		0	1	-1
> +		0	2	-1
> +		0	3	-1
> +		0	4	-1
> +		0	5	-1
>   	EOF
>   	# while read domain_level result
>   }
> 




More information about the ltp mailing list