[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090226174033.094e4834.kamezawa.hiroyu@jp.fujitsu.com>
Date: Thu, 26 Feb 2009 17:40:33 +0900
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To: Li Zefan <lizf@...fujitsu.com>
Cc: Ingo Molnar <mingo@...e.hu>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Paul Menage <menage@...gle.com>,
Balbir Singh <balbir@...ux.vnet.ibm.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] cpuacct: add a branch prediction
On Thu, 26 Feb 2009 16:35:33 +0800
Li Zefan <lizf@...fujitsu.com> wrote:
> ca is not checked before hierarchy support, and it's a side-effect.
>
> Before cpuacct is initialized, css == task->cgroups->subsys[cpuacct_subsys] == NULL,
> but ca = task_ca(tsk) is not necessarily NULL, unless struct cgroup_subsys_state is the
> first member of struct cpuacct.
>
> And the above code actually should be:
>
> do {
> ...
> } while (ca->parent);
>
I'll send no more objections to this patch itself.
But IMHO, this loop is tooo bad, I think. The hierarchy information should be gathered by
read-side and the total code should be
void charge_statistics(tsk, cputime)
{
ca = task_ca(tsk)
/* ca can be null while init */
if (likely(ca)) {
u64 *cpuusage = percpu_ptr(ca->cpuusage, task_cpu(tsk))
*cpuusage += cputime
}
}
(Need changes to read-side and create/destroy of cpuacct cgroups.)
Thanks,
-Kame
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists