The short answer, AFAIK, is yes, these are the only page sizes you can
use. You cannot select arbitrary sizes and use them at will.
Here is some detail:
The page size support table in the kernel is hw_page_array[] and is
populated for the x86 by page_coloring_init() in i86pc/vm/vm_machdep.c
I would like to see the impact of different page sizes on the performance of
multi-threaded applications. However, the pagesize -a command is producing only
3 possible page sizes including the default 4Kb on my AMD machine (shown
below). Are these only page sizes I can use? (or) Is there anyway