Track the lengths of the thread queues
authorSimon Marlow <marlowsd@gmail.com>
Tue, 2 Aug 2016 08:55:31 +0000 (09:55 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 3 Aug 2016 07:07:34 +0000 (08:07 +0100)
commit55f5aed756cd5d464942dddcb33e0bd19b05f2a4
treef8c0acd76b0945d44cca86946bd638ceee440aa3
parent36565a9ba200d40e0be8407e57ada1b4a1c55814
Track the lengths of the thread queues

Summary:
Knowing the length of the run queue in O(1) time is useful: for example
we don't have to traverse the run queue to know how many threads we have
to migrate in schedulePushWork().

Test Plan: validate

Reviewers: ezyang, erikd, bgamari, austin

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2437
rts/Capability.c
rts/Capability.h
rts/Schedule.c
rts/Schedule.h
rts/sm/Sanity.c