RFR: 6942632: Hotspot should be able to use more than 64 logical processors on Windows [v3]
Saint Wesonga
duke at openjdk.org
Wed Mar 13 22:59:54 UTC 2024
On Mon, 4 Mar 2024 06:34:32 GMT, David Holmes <dholmes at openjdk.org> wrote:
> Sorry to belabour this but IIUC the only time we will use > 64 processors is if the affinity masks is all ones - right? But we cannot distinguish between the cases of only wanting to use 64 processors and wanting to use > 64 processors. And if we didn't use the start command and have not otherwise set the affinity mask, then that mask will be all ones.
More specifically, the only time we will use all the processors on a machine with >64 cores is if the process affinity mask has at least as many ones as the number of processors in the processor group. Note that such a machine can have fewer than 64 processors in each processor group. For example, a machine with 96 processors may have 2 groups with 48 processors each. In this case, all 1s would mean a mask of 0x0000ffffffffffff. Not using the start command or a job object will indeed result in that all ones process affinity mask matching the number of processors in the processor group. Therefore, we cannot tell whether an all 1s mask was because the user passed that mask to the start command or because they didn't use the start command at all. Therefore, this implementation makes using a job object the only way to request exactly as many processors as those in the processor group.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17576#discussion_r1524003828
More information about the hotspot-runtime-dev
mailing list