[runtime] Cycle the finalizer thread if there are too many outstanding hazard pointer...
authorRodrigo Kumpera <kumpera@gmail.com>
Thu, 31 Mar 2016 00:38:43 +0000 (17:38 -0700)
committerRodrigo Kumpera <kumpera@gmail.com>
Thu, 31 Mar 2016 00:38:43 +0000 (17:38 -0700)
commit2ad72ecc3a4c547e3aeab26dba0f03a7396bfa1c
tree063fea16bc22b34af78177b4b3c77e1e19adf55e
parent4778bd3064c1bc1622ca2c5ca8c2b180938d178d
[runtime] Cycle the finalizer thread if there are too many outstanding hazard pointers to free.

We add a callback to the HP so the GC can monitor the queue size and act on it.

The queue size was picked to keep the overhead limited even under high load.
mono/metadata/gc.c
mono/utils/hazard-pointer.c
mono/utils/hazard-pointer.h