View Single Post
Posts: 1,101 | Thanked: 1,184 times | Joined on Aug 2008 @ Spain
#33
Originally Posted by dcy View Post
Hi,

I have installed and tested the latest sd preempt 256 kernel. The install.sh script is very useful to go back and forth. Everything I have tried works.
Thanks
The only annoyance that prevents me from keeping using it is that graphics updates are clearly slower than when using the kernel I have compiled (http://talk.maemo.org/showthread.php?p=927613), for instance when pressing the home button (the cpu governor is set to performance in both cases), which is what pleases me so much with my kernel. I as far as I understand, this could come from either the sd or the preempt patches or the 256Hz timer. How can I debug that?
I think it could be a cosmetic effect of the SD scheduler fairness, and kernel preemption and the 256 timer can increase it a bit. Possibly the same effect that can be seen at boot when the hildon desktop appears. With the O1 kernel it seems to appear "faster", while with the SD kernel it seems to appear "slowly" and "take longer" to boot. What really happens is that both take the same time to boot (70 seconds in my N810), but the hildon desktop start drawing sooner.
I think it could be explained as follows:
The O1 scheduler is very unfair, and a high priority task will starve any lower priority task, and even same priority tasks.
SD is very fair, and will guarantee that every task gets its cpu share in a given time, ensuring no starvation happens.
At the end of the boot process, several tasks are competing for cpu. Under O1, the high priority tasks will starve hildon-desktop until they finish, then hildon-desktop will receive the cpu and will paint the desktop in one go, just before the end. On the other hand, under SD, hildon will receive a bit of cpu as soon as it starts, the the cpu goes for another task, then a while later another bit..., and so it will paint the desktop during a longer period.
When pressing the menu button, top shows at least 3 processes competing for cpu: dbus-daemon (nice -5), xomap and hildon-desktop (both nice -1). Under O1, dbus will monopolize the cpu until it finish, then xomap and hildon-desktop will be able to do their job and paint the menu. Under SD, dbus get a chunk of cpu, hildon-desktop and xomap a bit, then dbus, then hildon desktop, then xomap.... Overall time to draw the menu is about the same, visual effect is different.
To debug this, a more objective measure would be desirable, like a camcorder. I think on Friday I'll be able to sort, package and upload the source patches, then you'll be able to build any kernel variant.
But, if you wish to save some time (building all kernel combinations takes TIME), you can compare the kernels in the first big package (just avoid the cfs ones, I don't think they are safe):
Stock/community ssu == O1 non-preempt 128 HZ
Then you can check the effect of preemption with the O1-preempt-128
Then the effect of the 256 HZ timer with the O1-preempt-256
Then the effect of the SD scheduler with the SD-preempt compared with O1-preempt (either 128 or 256)
Do your kernels use the mmc high speed patch?
Yes.
 

The Following User Says Thank You to maacruz For This Useful Post: