"garbage dequeues failed",
"garbage collections",
"garbage collection spins",
+ "garbage collection reclaims skipped",
"garbage collection fast reclaims",
"garbage collection reclaims retried",
"<end>"
* to adjust the next-pointer in the last of the reclaimed nodes.
*/
if (CHashPtrIsInvalid(fhead))
- ;
+ CHashTableIncrementStatistic(table, CHS_GC_Reclaim_Skipped);
else if (__sync_bool_compare_and_swap(fh, InvalidCHashPtr, fhead))
CHashTableIncrementStatistic(table, CHS_GC_Reclaim_Fast);
else
CHS_Garbage_Dequeue_Fail, /* dequeue of garbage failed */
CHS_GC, /* garbage collection cycle */
CHS_GC_Spin, /* GC spun waiting for concurrent process */
+ CHS_GC_Reclaim_Skipped, /* GC recovered only one item */
CHS_GC_Reclaim_Fast, /* GC put garbage on freelist via fast path */
CHS_GC_Reclaim_Retry, /* enqueue of garbage on freelist retried */
CHS_NumberOfStatistics /* number of statistics */