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

Ben Gamari gitlab at gitlab.haskell.org
Fri Oct 30 04:42:41 UTC 2020



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


Commits:
aad1f803 by Ben Gamari at 2020-10-30T00:41:14-04:00
rts/GC: Use atomics

- - - - -
d0bc0517 by Ben Gamari at 2020-10-30T00:41:14-04:00
rts: Use RELEASE ordering in unlockClosure

- - - - -
d44f5232 by Ben Gamari at 2020-10-30T00:41:14-04:00
rts/Storage: Accept races on heap size counters

- - - - -
4e4a7386 by Ben Gamari at 2020-10-30T00:41:14-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.

- - - - -
a80cc857 by GHC GitLab CI at 2020-10-30T00:41:14-04:00
rts: Fix race in GC CPU time accounting

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

- - - - -
7dcd5f53 by Ben Gamari at 2020-10-30T00:41:14-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`).

- - - - -
96f8bde7 by Ben Gamari at 2020-10-30T00:41:14-04:00
rts: Use relaxed ordering on spinlock counters

- - - - -
e213d99e by Ben Gamari at 2020-10-30T00:41:52-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

- - - - -
ef98942b by Ben Gamari at 2020-10-30T00:41:56-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/3e12241cf5bdf1824fb4d84d3cb66d56518f2e71...ef98942bff66004c5c8b2ca1d4df1d240f9633da

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/3e12241cf5bdf1824fb4d84d3cb66d56518f2e71...ef98942bff66004c5c8b2ca1d4df1d240f9633da
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/20201030/190aa1d0/attachment.html>


More information about the ghc-commits mailing list