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 <[email protected]>
> ---
>  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 <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to