On Thu, Mar 19, 2009 at 10:52 PM, Manuel M T Chakravarty < c...@cse.unsw.edu.au> wrote:
> The comment above setThreadAffinity() says, > > // Schedules the thread to run on CPU n of m. m may be less than the >> // number of physical CPUs, in which case, the thread will be allowed >> // to run on CPU n, n+m, n+2m etc. >> > > I am not convinced that this is a good plan. If m is less than n, some > threads can hop between CPUs and so invalidate their L2 cache repeatedly. Even worse, on a NUMA system, you can end up pinning a thread to a CPU that is physically distant from its memory, which imposes a substantial performance penalty (even on Opteron systems). I'd be very very wary of setting thread affinity by hand.
_______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc