All, Cynthia Gu has put together a great patch that improves the ClassAllocators. Firstly she added a configurable low watermark for ClassAllocators that prevent it from returning all its items whenever it exceeds the configurable limit. Additionally, in the current implementation it returns items one-by-one, she made a change to the freelists to allow them to return a block of items in one shot. Obviously this improvement is great because it avoids N compare-and-swaps and gets it down to a single CAS. A patch is attached to TS-3178 and code/reviews feedback would be appreciated.
https://issues.apache.org/jira/browse/TS-3178