[Git][ghc/ghc][wip/tsan/all] 9 commits: rts/GC: Use atomics

Ben Gamari gitlab at gitlab.haskell.org
Fri Oct 30 02:57:41 UTC 2020



Ben Gamari pushed to branch wip/tsan/all at Glasgow Haskell Compiler / GHC


Commits:
24cfad4d by Ben Gamari at 2020-10-29T22:50:11-04:00
rts/GC: Use atomics

- - - - -
1514f535 by Ben Gamari at 2020-10-29T22:50:11-04:00
rts: Use RELEASE ordering in unlockClosure

- - - - -
57a1e976 by Ben Gamari at 2020-10-29T22:50:11-04:00
rts/Storage: Accept races on heap size counters

- - - - -
2a123034 by Ben Gamari at 2020-10-29T22:50:11-04:00
rts: Join to concurrent mark thread during shutdown

Previously we would take all capabilities but fail to join on the thread
itself, potentially resulting in a leaked thread.

- - - - -
4aa10bd6 by GHC GitLab CI at 2020-10-29T22:50:11-04:00
rts: Fix race in GC CPU time accounting

Ensure that the GC leader synchronizes with workers before calling
stat_endGC.

- - - - -
bb03b660 by Ben Gamari at 2020-10-29T22:53:26-04:00
rts/SpinLock: Separate out slow path

Not only is this in general a good idea, but it turns out that GCC
unrolls the retry loop, resulting is massive code bloat in critical
parts of the RTS (e.g. `evacuate`).

- - - - -
d208adc5 by Ben Gamari at 2020-10-29T22:55:15-04:00
rts: Use relaxed ordering on spinlock counters

- - - - -
3cba8f31 by Ben Gamari at 2020-10-29T22:57:00-04:00
Merge branches 'wip/tsan/sched', 'wip/tsan/ci', 'wip/tsan/storage', 'wip/tsan/wsdeque', 'wip/tsan/misc', 'wip/tsan/stm', 'wip/tsan/event-mgr', 'wip/tsan/timer' and 'wip/tsan/stats' into wip/tsan/all

- - - - -
81b14875 by Ben Gamari at 2020-10-29T22:57:04-04:00
testing

- - - - -


30 changed files:

- .gitlab-ci.yml
- hadrian/src/Flavour.hs
- includes/rts/OSThreads.h
- includes/rts/SpinLock.h
- includes/rts/StablePtr.h
- includes/rts/TSANUtils.h
- includes/rts/storage/Closures.h
- includes/rts/storage/GC.h
- includes/stg/SMP.h
- libraries/base/GHC/Event/Control.hs
- rts/.tsan-suppressions
- rts/Capability.c
- rts/Capability.h
- rts/Messages.c
- rts/Proftimer.c
- rts/RaiseAsync.c
- rts/RtsStartup.c
- rts/SMPClosureOps.h
- rts/STM.c
- rts/Schedule.c
- rts/Schedule.h
- rts/Sparks.c
- + rts/SpinLock.c
- rts/StablePtr.c
- rts/Task.c
- rts/ThreadPaused.c
- rts/Threads.c
- rts/Timer.c
- rts/Updates.h
- rts/WSDeque.c


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/642f2ed0a68dc40abb9379e5c561c8c37d8ddfc4...81b148752f79523d25a94f1dae860d9476a608b5

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/642f2ed0a68dc40abb9379e5c561c8c37d8ddfc4...81b148752f79523d25a94f1dae860d9476a608b5
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20201029/09e3a47c/attachment.html>


More information about the ghc-commits mailing list