[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0811100937250.22539@quilx.com>
Date: Mon, 10 Nov 2008 09:41:25 -0600 (CST)
From: Christoph Lameter <cl@...ux-foundation.org>
To: Peter Zijlstra <peterz@...radead.org>
cc: Frank Mayhar <fmayhar@...gle.com>,
Doug Chapman <doug.chapman@...com>, mingo@...e.hu,
roland@...hat.com, adobriyan@...il.com, akpm@...ux-foundation.org,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: regression introduced by - timers: fix itimer/many thread hang
On Mon, 10 Nov 2008, Peter Zijlstra wrote:
> > Can we at least somehow make sure that nothing significantly happens in a
> > timer interrupt on a processor if the thread has not scheduled any events
> > or not odone any system calls?
>
> Do threads actually scale that far? I thought mmap_sem contention and
> other shared state would render threads basically useless on these very
> large machines.
They scale well. The problem is startup when they concurrently allocate
memory. That has been solved with distributing the pte locks. mmap_sem is
taken for read in the fault handler. So you have a wildly bouncing
cacheline at startup time that causes performance issues but no busy
spinning.
> But afaiu this stuff, the per-cpu loop is only done when an itimer is
> actually active.
>
> The detail I've not looked at is, if when this itimer is indeed active
> and we are running 256 threads of the same application on all cpus do we
> then do the per-cpu loop for each tick on each cpu?
I would check how 8p and 16p fare with this? How much potential latency is
added to thread because it is interrupted and the timer interrupt goes
through this loop?
--
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