[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081106214434.GA5999@elte.hu>
Date: Thu, 6 Nov 2008 22:44:34 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Frank Mayhar <fmayhar@...gle.com>,
Doug Chapman <doug.chapman@...com>, roland@...hat.com,
adobriyan@...il.com, akpm@...ux-foundation.org,
linux-kernel <linux-kernel@...r.kernel.org>,
Christoph Lameter <cl@...ux-foundation.org>
Subject: Re: [PATCH] revert: timers: fix itimer/many thread hang
* Peter Zijlstra <peterz@...radead.org> wrote:
> This patch reverts all the itimer/many thread patches:
>
> 7086efe1c1536f6bc160e7d60a9bfd645b91f279
> bb34d92f643086d546b49cef680f6f305ed84414
> 5ce73a4a5a4893a1aa4cdeed1b1a5a6de42c43b6
> 0a8eaa4f9b58759595a1bfe13a1295fdc25ba026
> f06febc96ba8e0af80bcc3eaec0a109e88275fac
>
> Because I think the per-cpu accounting approach is wrong and makes
> things worse for people with a machine that has more than a
> hand-full of CPUs.
hm, the revert is rather large but i guess the best way forward.
Unless we can avoid this loop:
- for_each_possible_cpu(i) {
- tot = per_cpu_ptr(tsk->signal->cputime.totals, i);
- times->utime = cputime_add(times->utime, tot->utime);
- times->stime = cputime_add(times->stime, tot->stime);
- times->sum_exec_runtime += tot->sum_exec_runtime;
- }
we have to revert it.
That loop could _perhaps_ be avoided by maintaining the sums from the
scheduler tick: by just adding the latest delta values for the current
task to times->*time. Plus at exit time cleaning up the remaining
delta. That would be a far smaller patch.
Ingo
--
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