1. An apparatus comprising: one or more processors; memory accessible by the one or more processors, the memory including instructions that, when executed, cause the one or more processors to: determine if any hyperthreads of two or more hyperthreads within a processing core have entered an idle state; at least partly in response to determining that a hyperthread has entered the idle state, determine whether at least one other hyperthread is executing a non-idle workload; and at least partly in response to determining that at least one other hyperthread is executing a non-idle workload; identify a respective level of performance of the at least one other hyperthread that is executing a non-idle workload; create an idle workload loop to execute on the hyperthread that has entered the idle state, wherein the idle workload loop simulates a workload such that resources of the processing core are utilized by the hyperthread that has entered the idle state; and execute the idle workload loop on the hyperthread that has entered the idle state to substantially maintain the respective level of performance of the at least one other hyperthread that is executing a non-idle workload, wherein create an idle workload loop to execute on the hyperthread that has entered the idle state comprises determining an application profile for an application executing on the at least one other hyperthread that is executing a non-idle workload, the idle workload loop that is created being based at least in part on the determined application profile.