diff options
author | Simon Marlow <marlowsd@gmail.com> | 2008-06-16 07:31:11 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2008-06-16 07:31:11 +0000 |
commit | 3e140bdf457f0c4c762ba344f396d84afef6d8f4 (patch) | |
tree | 3fe976a1e0ffc81be0ff8d88649ec3dc0256ba63 /rts | |
parent | 4d15b247104d9cfe36a4e29f7df00e582e7ec9f0 (diff) | |
download | haskell-3e140bdf457f0c4c762ba344f396d84afef6d8f4.tar.gz |
don't try to parallelise marking GC (yet)
Diffstat (limited to 'rts')
-rw-r--r-- | rts/sm/GC.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/sm/GC.c b/rts/sm/GC.c index 165c7066b5..e0792d970d 100644 --- a/rts/sm/GC.c +++ b/rts/sm/GC.c @@ -243,10 +243,10 @@ GarbageCollect ( rtsBool force_major_gc ) start_gc_threads(); /* How many threads will be participating in this GC? - * We don't try to parallelise minor GC. + * We don't try to parallelise minor GC, or mark/compact/sweep GC. */ #if defined(THREADED_RTS) - if (n < (4*1024*1024 / BLOCK_SIZE)) { + if (n < (4*1024*1024 / BLOCK_SIZE) || oldest_gen->steps[0].mark) { n_gc_threads = 1; } else { n_gc_threads = RtsFlags.ParFlags.gcThreads; |