I want to create a new governor for android kernel. I studied some documentation in Documentation-cpufreq- I don't understand some variables, structs and macros. Where can i find some infos about them? Thank you all!
Related
Hi everyone!
I have a nexus 5 with Android 4.4.4 (hammerhead). I would like to make few changes to the io scheduler (fair scheduler for example) but I am not sure where to start. I hope someone can guide me
The thing that I want to modify in the io scheduler is to add two steps:
1) before selecting the next task to run, check its pid to recognize if it is a task of a specific process
2) schedule it on a specific core, or migrate it to a specific core
Forgive me if I am lacking of more details but I am relatively new to kernel stuff
Does anyone have any suggestion on how to add those 2 steps?
Thanks
Maybe the question is too narrow...Even a guide to understand the source code of the CFS scheduler implemented in Android would be more than fine at this point...I could not find a good one. Any suggestion for where I can find an explanation of the CFS source code?
Solved
brok85 said:
Maybe the question is too narrow...Even a guide to understand the source code of the CFS scheduler implemented in Android would be more than fine at this point...I could not find a good one. Any suggestion for where I can find an explanation of the CFS source code?
Click to expand...
Click to collapse
Never mind...thanks anyway!
I have solved by setting the affinity of a given process to a specific core.
I have never rooted it or touched my g850 's kernel, it is 5.0.2 lollipop and kernel version is 3.10.9-8213318.
I want to benchmark performance and power consumption on exynos5430 with HMP scheduler and Energy Aware Scheduler.
I have 2 questions about that.
Is my g850's kernel include HMP scheduler(Global task scheduler)? I mean, does it applied on my kernel and my g850's processor is running with HMP Scheduler without any configuration?
And, If I want to install 3.18 kernel which include Energy Aware Scheduler, what kind of defconfig i have to use?
I checked arch/arm/config, but there are only arm's fundamental defconfig files.(like acs5k, armadillo, exynos, versatile .... etc)
Is there any defconfig for g850? or can I use 5430-base_defconfig(I can't paste link here)?
I've been built kernel for linux, but I'm new to android, so I wish you guys help me for this...
I have never rooted it or touched my g850 's kernel, it is 5.0.2 lollipop and kernel version is 3.10.9-8213318.
I want to benchmark performance and power consumption on exynos5430 with HMP scheduler and Energy Aware Scheduler.
I have questions about this.
Is my g850's kernel include HMP scheduler(Global task scheduler)? I mean, does it applied on my kernel and my g850's processor is running with HMP Scheduler without any configuration?
And, If I want to compile 3.18 kernel which include Energy Aware Scheduler, what kind of defconfig do I have to use?
I checked arch/arm/config, but there are only arm's fundamental defconfig files.(like acs5k, armadillo, exynos, versatile .... etc)
Is there any defconfig for g850? or can I use 5430-base_defconfig(I can't paste link here)?
If I compiled 3.18 kernel, How can I install it on my device? I tried to unpack original rom and change kernel image, but it's md5 file, so I dunno how to. Is there any ONE SIMPLE WAY to just install my zimage on my device? or appropriate guide to install it on g850. I found bunch of guides on google, but most of the uses nexus.
I'm so desperate to do this, I wish I can get an answer here. Thanks
Hi everyone.
I know little-nothing about Linux and compiling kernels. I almost never used Linux, I don't know any programming language, but I'm a PC master(hardware/windows etc). First of all, from what I read, I need to learn Linux and only after I should learn how to build a kernel. Can someone help me, or give me a link for better understanding/learning linux, and after how to compile own kernel from source(or modify it, for ex: updating libs(if it's possible, adding overclock to cpu/gpu, update gpu driver, upstream kernel at the latest one etc). I'm saying again, I'm newbie, but I can learn very fast + i can have virtual machine with latest Ubuntu).
Thanks everyone who try to help me! Have a good life.
I want to compare the performance of the EAS scheduler with other task schedulers. As far as I understood from the documentation, there are several schedulers in the kernel, and at a certain point in time, one scheduler can be selected by the kernel, which is responsible for distributing all tasks among the processor's cores.
I have Xiaomi Redmi 9A with Android 10 and kernel version 4.9.190. The default task scheduler is EAS, but I want to try installing another scheduler (regular CFS, for example, or some custom one). I suspect that this requires patching the sources and recompiling the kernel, but I can't find any information on which configuration files I need to change and how to get the desired scheduler to be used in the compiled kernel. But maybe I'm wrong and there is another way to change the current scheduler at runtime through the kernel api. (Yes, I have read about sched_setscheduler, and from the description, this is not what I need. I need to change the scheduler to which all created threads are assigned by default.)
In any case, I would appreciate any information about switching schedulers. And about the schedulers themselves, because I'm not sure that I understood the principle of their work correctly. (After 2 months of googling, I realized that my skills were failing me, which brought me here)
thofyb said:
I want to compare the performance of the EAS scheduler with other task schedulers. As far as I understood from the documentation, there are several schedulers in the kernel, and at a certain point in time, one scheduler can be selected by the kernel, which is responsible for distributing all tasks among the processor's cores.
I have Xiaomi Redmi 9A with Android 10 and kernel version 4.9.190. The default task scheduler is EAS, but I want to try installing another scheduler (regular CFS, for example, or some custom one). I suspect that this requires patching the sources and recompiling the kernel, but I can't find any information on which configuration files I need to change and how to get the desired scheduler to be used in the compiled kernel. But maybe I'm wrong and there is another way to change the current scheduler at runtime through the kernel api. (Yes, I have read about sched_setscheduler, and from the description, this is not what I need. I need to change the scheduler to which all created threads are assigned by default.)
In any case, I would appreciate any information about switching schedulers. And about the schedulers themselves, because I'm not sure that I understood the principle of their work correctly. (After 2 months of googling, I realized that my skills were failing me, which brought me here)
Click to expand...
Click to collapse
@thofyb
Prior to your next posting please read the guidances that are stuck on top of every forum like
Note: Questions go in Q&A Forum
If you are posting a Question Thread post it in the Q&A forum. Technical discussion of Android development and hacking. No noobs, please. Device-specific releases should go under the appropriate device forum...
forum.xda-developers.com
I've moved the thread to Oneplus 8 Pro Q&A.
Regards
Oswald Boelcke
Senior Moderator