- Subject: Re: [PATCH, v7] cgroups: introduce timer slack controller
- From: Li Zefan <lizf@xxxxxxxxxxxxxx>
- Date: Thu, 03 Mar 2011 14:59:39 +0800
- Cc: "Kirill A. Shutsemov" <kirill@xxxxxxxxxxxxx>, Paul Menage <menage@xxxxxxxxxx>, containers@xxxxxxxxxxxxxxxxxxxxxxxxxx, jacob.jun.pan@xxxxxxxxxxxxxxx, Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Matt Helsley <matthltc@xxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, linux-api@xxxxxxxxxxxxxxx
- In-reply-to: <alpine.LFD.2.00.1103021912090.2701@xxxxxxxxxxxxxxxxxxxxxxx>
- References: <1299084001-3916-1-git-send-email-kirill@xxxxxxxxxxxxx> <1299084001-3916-2-git-send-email-kirill@xxxxxxxxxxxxx> <alpine.LFD.2.00.1103021912090.2701@xxxxxxxxxxxxxxxxxxxxxxx>
- User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc14 Thunderbird/3.1.4
>> +unsigned long get_task_timer_slack(struct task_struct *tsk)
>> +{
>> + struct cgroup_subsys_state *css;
>> + struct tslack_cgroup *tslack_cgroup;
>> + unsigned long ret;
>> +
>> + rcu_read_lock();
>
> Did you just remove the odd comment or actually figure out why you
> need rcu_read_lock() here ?
>
It's necessary to protect against task exiting or task moving between cgroups.
>> + css = task_subsys_state(tsk, timer_slack_subsys.subsys_id);
>> + tslack_cgroup = container_of(css, struct tslack_cgroup, css);
>> + ret = max(tsk->timer_slack_ns, tslack_cgroup->min_slack_ns);
>> + rcu_read_unlock();
>> +
>> + return ret;
>> +}
>
> Otherwise, it's way more palatable than the last one.
>
> Thanks,
>
> tglx
>
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Home]
[Linux USB Devel]
[Video for Linux]
[Linux Audio Users]
[Photo]
[Yosemite News]
[Yosemite Photos]
[Free Online Dating]
[Linux Kernel]
[Linux SCSI]
[XFree86]