I am developing a mobile system, that has certain limits in power consumption.
The system has for example 4 or 8 cpu cores. If ruing, the total power budget is usually low due to idling of most of the cores. By carefully limiting the maximal frequency it is possible that all cores are ruing while holding the power budget.
However, during bootup, the linux keel activates all CPUs, doesn't respect the frequency limits (that are employed in userspace later on) and schedules even most of the inteal keel bootup to many CPUs. This way my power limit is exceed by a factor of two.
Using the keel command line parameter maxcpus=..., I can easily adjust the power usage to fit the limits. However, the CPUs disabled that way can never be used again I guess?
Also, if there are different CPUs, like with the ARM big.LITTLE architecture, maxcpus disables the larger CPUs first.
Is there any more fine grained way to control which CPUs are enabled when, or to set the goveor or limit their frequency in the first place they are switched on? Or maybe to keep the boot sequence restricted to some CPUs, while still enabling all for userspace?
برچسب:
نویسنده: استخدام کار