public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Wanlong Gao <gaowanlong@cn.fujitsu.com>
To: Li Jinyue <lijinyue@huawei.com>
Cc: ltp-list@lists.sourceforge.net, dingguofu@huawei.com,
	zhanyongming@huawei.com
Subject: Re: [LTP] [PATCH] controllers: disallow attaching kthreadd or PF_THREAD_BOUND threads to cgroups on kernel > 3.4.0
Date: Wed, 28 Jan 2015 16:23:31 +0800	[thread overview]
Message-ID: <54C89C83.7000002@cn.fujitsu.com> (raw)
In-Reply-To: <1421656612-15165-1-git-send-email-lijinyue@huawei.com>

On 01/19/2015 04:36 PM, Li Jinyue wrote:
> For kernel commit c4c27fbdda4e8ba87806c415b6d15266b07bce4b,
> disallow attaching kthreadd or PF_THREAD_BOUND threads to cgroups.
> 
> So, we kindly avoid to attach these threads in cgroup tests.
> 
> Signed-off-by: Li Jinyue <lijinyue@huawei.com>
> ---
>  testcases/kernel/controllers/cgroup_fj/cgroup_fj_function.sh | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/testcases/kernel/controllers/cgroup_fj/cgroup_fj_function.sh b/testcases/kernel/controllers/cgroup_fj/cgroup_fj_function.sh
> index 30476bd..30fffb6 100755
> --- a/testcases/kernel/controllers/cgroup_fj/cgroup_fj_function.sh
> +++ b/testcases/kernel/controllers/cgroup_fj/cgroup_fj_function.sh
> @@ -186,6 +186,16 @@ case $attach_operation in
>  	do
>  		cur_pid=`sed -n "$i""p" $TMPFILE`
>  		if [ -e /proc/$cur_pid/ ];then
> +			#For kernel 3.4.0 and higher,kernel disallow attaching kthreadd or
> +			#PF_THREAD_BOUND threads to cgroups.

I check the current kernel and find that this flag already removed now, please check the following
commit:

commit 14a40ffccd6163bbcd1d6f32b28a88ffe6149fc6
Author: Tejun Heo <tj@kernel.org>
Date:   Tue Mar 19 13:45:20 2013 -0700

    sched: replace PF_THREAD_BOUND with PF_NO_SETAFFINITY
    
    PF_THREAD_BOUND was originally used to mark kernel threads which were
    bound to a specific CPU using kthread_bind() and a task with the flag
    set allows cpus_allowed modifications only to itself.  Workqueue is
    currently abusing it to prevent userland from meddling with
    cpus_allowed of workqueue workers.


> +			#kernel commit: c4c27fbdda4e8ba87806c415b6d15266b07bce4b
> +			tst_kvercmp 3 4 0
> +			if [ $? -ne 0 ]; then

And where to go if tst_kvercmp failed and return -1?

> +				thread_flag=`cat /proc/$cur_pid/stat | awk '{print $9}'`
> +				if [ $cur_pid -eq 2 -o $((${thread_flag}&0x04000000)) -eq 67108864 ];then

These magic numbers must at least be commented to be understand easily.

Thanks,
Wanlong Gao

> +					continue
> +				fi
> +			fi
>  			do_echo 1 1 "$cur_pid" /dev/cgroup/subgroup_1/tasks
>  		fi
>  	done
> 


------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  parent reply	other threads:[~2015-01-28  8:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-19  8:36 [LTP] [PATCH] controllers: disallow attaching kthreadd or PF_THREAD_BOUND threads to cgroups on kernel > 3.4.0 Li Jinyue
2015-01-26 15:22 ` Cyril Hrubis
     [not found]   ` <54C9DCBE.9010609@huawei.com>
2015-01-29 11:35     ` [LTP] [PATCH v3] controllers: disallow attaching kthreadd or threads with flag 0x04000000 " Cyril Hrubis
2015-01-28  8:23 ` Wanlong Gao [this message]
2015-01-28  8:49   ` [LTP] [PATCH] controllers: disallow attaching kthreadd or PF_THREAD_BOUND threads " Lijinyue
2015-01-28  9:07     ` Wanlong Gao
2015-01-28  9:28       ` Lijinyue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54C89C83.7000002@cn.fujitsu.com \
    --to=gaowanlong@cn.fujitsu.com \
    --cc=dingguofu@huawei.com \
    --cc=lijinyue@huawei.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=zhanyongming@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox