1. A method implemented by a computing device comprising: assigning thread policies to individual threads, the thread policies specifying criteria for allocation of threads between heterogeneous cores of a processing system; ascertaining a subset of the heterogeneous cores selected as active for thread scheduling according to a periodically applied power management policy; and allocating threads on a thread-by-thread basis among the subset of the heterogeneous cores and in accordance with the thread policies assigned to the individual threads.