Aren't madvise and mincore the APIs you want?
You could MADV_WILLNEED the GC metadata when you start the GC process hoping they’ll have been paged in by the time you STW, but assuming that area is not massive it’s probably a better idea to just prevent it being paged out.
On a lower level, the OCaml and cpython GCs use a prefetch buffer during marking to schedule around the cache.