We don't seem to have(9) a man page that lists all __HAVE_* macros that a port may provide. E.g.
$ apropos -M '"__HAVE_PREEMPTION"' cpu_need_resched (9) context switch notification but $ apropos -M '"__HAVE_SIMPLE_MUTEXES"' apropos: No relevant results obtained. Please make sure that you spelled all the terms correctly or try using different keywords. I think it might be a good idea to document the list in one place with xrefs to the relevant section 9 pages (and to document the options there too, e.g. __HAVE_SIMPLE_MUTEXES in mutex(9)). -uwe