• simonmar's avatar
    [project @ 2005-04-05 12:19:54 by simonmar] · 16214216
    simonmar authored
    Some multi-processor hackery, including
      - Don't hang blocked threads off BLACKHOLEs any more, instead keep
        them all on a separate queue which is checked periodically for
        threads to wake up.
        This is good because (a) we don't have to worry about locking the
        closure in SMP mode when we want to block on it, and (b) it means
        the standard update code doesn't need to wake up any threads or
        check for a BLACKHOLE_BQ, simplifying the update code.
        The downside is that if there are lots of threads blocked on
        BLACKHOLEs, we might have to do a lot of repeated list traversal.
        We don't expect this to be common, though.  conc023 goes slower
        with this change, but we expect most programs to benefit from the
        shorter update code.
      - Fixing up the Capability code to handle multiple capabilities (SMP
        mode), and related changes to get the SMP mode at least building.