I think the chapter 2 of Professional Linux Kernel Architecture will be helpful to understand the CFS. It not only describes the concept but source code exploring.
2012/3/20 Glenn Kasten <gkas...@android.com>: > I'm sorry but generic Linux is beyond the scope of this group. I suggest > doing a web search for the specific topics you're interested in. However, > here are a few links to help you get started: > http://en.wikipedia.org/wiki/Completely_Fair_Scheduler > http://www.ibm.com/developerworks/linux/library/l-completely-fair-scheduler/ > http://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt > http://lxr.linux.no/linux+v3.3/kernel/sched/fair.c > > On Monday, March 19, 2012 10:22:20 AM UTC-7, Deborah wrote: >> >> Glenn thanks for your reply! I'm really confused. Could you explain >> how the CFS work? >> Does it divide the CPU time into epochs? >> In a single epoch, has every process a specified time quantum that is >> computed at the beginning of each epoch? >> If yes, is 'virtual runtime' set to zero in each epoch or is it an >> approximated average? >> Help please!!! :( >> >> >> On Mar 19, 4:21 pm, Glenn Kasten <gkas...@android.com> wrote: >> > Threads voluntarily assign themselves a nice priority within the >> > permitted >> > range, and activity manager assigns threads of an app process to an >> > appropriate cpuctl cgroup. >> > >> > >> > >> > >> > >> > >> > >> > On Friday, March 16, 2012 6:38:57 AM UTC-7, Deborah wrote: >> > >> > > I am trying to get a better understanding on ANDROID CFS. I have some >> > > doubt on scheduler's behavior. >> > > The difference between Android scheduler and Linux scheduler >> > > Scheduler >> > > — 5 files — The Android kernel also contains slight changes to the >> > > CPU >> > > process scheduler and time-keeping algorithms. We don’t know the >> > > history of these changes, and the impact was not evident based on a >> > > cursory examination. >> > > Do you know which are this files? >> > > If I understand, Process.THREAD_PRIORITY_DEFAULT or >> > > Process.THREAD_PRIORITY_BACKGROUND are 'nice' value. How does Android >> > > convert 'nice' value in 'timeslice'? >> > > What is the initial value of 'virtual runtime' in Android and how to >> > > calculate? >> > > In Android, is 'cgroups' use to define scheduling classes? The >> > > following application states: (i) Foreground process - Critical >> > > priority; (ii) Visible process and Service process - High priority; >> > > (iii) Background process and Empty process - Low priority; are three >> > > scheduling classes ? >> > > Thanks in advance, >> > > Deborah >> > >> > On Friday, March 16, 2012 6:38:57 AM UTC-7, Deborah wrote: >> > >> > > I am trying to get a better understanding on ANDROID CFS. I have some >> > > doubt on scheduler's behavior. >> > > The difference between Android scheduler and Linux scheduler >> > > Scheduler >> > > — 5 files — The Android kernel also contains slight changes to the >> > > CPU >> > > process scheduler and time-keeping algorithms. We don’t know the >> > > history of these changes, and the impact was not evident based on a >> > > cursory examination. >> > > Do you know which are this files? >> > > If I understand, Process.THREAD_PRIORITY_DEFAULT or >> > > Process.THREAD_PRIORITY_BACKGROUND are 'nice' value. How does Android >> > > convert 'nice' value in 'timeslice'? >> > > What is the initial value of 'virtual runtime' in Android and how to >> > > calculate? >> > > In Android, is 'cgroups' use to define scheduling classes? The >> > > following application states: (i) Foreground process - Critical >> > > priority; (ii) Visible process and Service process - High priority; >> > > (iii) Background process and Empty process - Low priority; are three >> > > scheduling classes ? >> > > Thanks in advance, >> > > Deborah > > -- > unsubscribe: android-kernel+unsubscr...@googlegroups.com > website: http://groups.google.com/group/android-kernel -- Regards, Gaggery -- unsubscribe: android-kernel+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-kernel