patch applied (ghc): Move a thread to the front of the run queue
when another thread blocks on it
Simon Marlow
marlowsd at gmail.com
Tue Apr 6 10:34:45 EDT 2010
Mon Mar 29 07:45:21 PDT 2010 Simon Marlow <marlowsd at gmail.com>
* Move a thread to the front of the run queue when another thread blocks on it
This fixes #3838, and was made possible by the new BLACKHOLE
infrastructure. To allow reording of the run queue I had to make it
doubly-linked, which entails some extra trickiness with regard to
GC write barriers and suchlike.
M ./includes/rts/storage/TSO.h +2
M ./rts/Messages.c -2 +22
M ./rts/Schedule.c -13 +30
M ./rts/Schedule.h +9
M ./rts/sm/GCAux.c -1 +2
M ./rts/sm/Sanity.c -1 +14
M ./rts/sm/Sanity.h +2
M ./rts/sm/Scav.c -19 +25
M ./rts/sm/Storage.c +10
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20100329144521-12142-949b373215ac1601c398da1ba36c03b4c2d3be4a.gz
More information about the Cvs-ghc
mailing list