Patent ID: 8695008

Claim:
A method for dynamically determining the degree of workload parallelism and automatically adjusting the number of cores supporting a workload in a portable computing device, the method comprising: monitoring one or more work queues of a multicore processor, wherein monitoring comprises sampling a current number of tasks assigned to the multicore processor; calculating a percentage of parallel work based on a current mode of operation of the multicore processor and the monitoring of the one or more work queues, wherein the percentage of parallel work (P) is calculated using the equation P=instances of parallel work over a sampling period/number of samples taken over the sampling period, wherein an instance of parallel work occurs when the current number of tasks assigned to the multicore processor allows for using two or more cores of the multicore processor; determining whether the current mode of operation for the multicore processor should be changed based on the calculated percentage of parallel work; and instructing one or more cores of the multicore processor to switch a dynamic voltage and frequency scaling algorithm in response to determining that the current mode of operation for the multicore processor should be changed.