While running a workload that was designed to see how the GC performs when the heap occupancy was at 60% of capacity, there were several *long* evacuation pauses where the major contributor to the duration of the pause was "Other" time.
During the workload run (which was for a 26Gb heap, 18 GC workers), "Other" times of ~1800ms were not uncommon. The crucial pattern was that these lonbg pauses were always seen during marking cycles.
An investigation indicated that the main culprit was the "complete_marking_in_collection_set" closure, and this was confirmed with some changes to the PrintGCDetails output. The reason why this code was taking so long is that it is current purely a serial iteration over the collection set.
Since this code will be going away when the changes foir 6888336 are implemented, it has been decided that a quick fix would be to parallelize the existing serial code.