A computer program product for use in a computer system having a processor comprising a plurality of processor cores, a storage drive and a storage control unit configured to control read operations from and write operations to the storage drive, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor of the computer system to cause processor operations, the processor operations comprising:
- selecting a plurality of processor cores of a multi-processor core system, as available to receive a dispatched task to define a first set of available processor cores in which each processor core of the first set of processor cores is selected as available to receive a dispatched task;
- dispatching system workload tasks to the first set of available processor cores for processing by the processor cores in the first set of processor cores in a selected one of a plurality of modes, wherein the plurality of modes includes a performance-based dispatching mode in which tasks are dispatched to processor cores of the first set of available processor cores for processing primarily as a function of system performance in the performance-based dispatching mode, and a thermal-based dispatching mode in which tasks are dispatched to processor cores of the first set of available processor cores primarily as a function of processor core temperatures in the thermal-based dispatching mode;
- monitoring a multi-processor core temperature which is a function of temperatures of a plurality of processor cores of the multi-processor core system;
- comparing the multi-processor core temperature to a sub-mode temperature threshold value;
- and
- if the multi-processor core temperature is below a first sub-mode temperature threshold value, switching to a heating sub-mode of the performance-based dispatching mode which includes dispatching a heat generating non-system workload task to idle processor cores of the first set of processor cores for processing by processor cores in the first set of processor cores to raise the temperature of processing cores receiving a heat generating task;
- wherein the processing of heat-generating non-system workload tasks includes processing of pseudo data generated primarily to heat a processor core;
- and
- wherein the multi-processor core temperature is a temperature value that includes a monitored temperature with respect to all the processor cores.