LWN.net Logo

Linux support for ARM big.LITTLE

Linux support for ARM big.LITTLE

Posted Feb 16, 2012 7:06 UTC (Thu) by fredrik (subscriber, #232)
In reply to: Linux support for ARM big.LITTLE by ringerc
Parent article: Linux support for ARM big.LITTLE

In Android you already have a api that allows the application to indicate how important a background task is. You can tell the system to schedule background activities only when it is otherwise awake. And you can tell it to schedule activities inexactly, coordinated with being awake for other tasks.

See the documentation for the AlarmManager and compare the flags RTC_WAKEUP vs RTC and methods setRepeating vs setInexactRepeating.

http://developer.android.com/reference/android/app/AlarmM...

Now I don't know if these options are communicated all the way down to the kernel scheduler today. Though you could easily imagine a scheduler execute the inexact non-wakeup tasks on a low-power cpu, while executing tasks that are registered with the exact method and wakeup flag could be scheduled on a high-performance cpu.


(Log in to post comments)

Linux support for ARM big.LITTLE

Posted Feb 16, 2012 7:58 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

the linux kernel already has the ability to relax timing for wakeups so that they can be combined with other events.

as for scheduling different types of tasks on different cores, unless the slow core is not fast enough to keep up with the running application, there's no reason to use the fast core at all.

I can guarantee you that you cannot trust the application to tell you what it's needs really are, the only sane way is to watch the application and if it's trying to do more than the slow core can keep up with (with the other tasks that are also running), then and only then should you migrate it to a faster core.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds