Over the years, the code and comments in vm_page_startup() have diverged in one respect. When determining how many page structures to allocate, contrary to what the comments say, the code does not account for the overhead of a page structure per page of physical memory. This revision changes the code to match the comments in all but one case. (That there exists a case where the overhead of a page structure per page cannot be accounted for is, in fact, why the code and comments diverged.)
For example, on an amd64 machine with 32 GB of physical memory, this revision recovers 21 MB of previously wasted physical memory. In general, the amount of recovered memory will be proportional to the size of physical memory.