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