Le 11/10/2012 22:14, Alexander Graf a écrit :
On 11.10.2012, at 18:46, guillaume.gardet@free.fr wrote:
----- Alexander Graf
a écrit : On 11.10.2012, at 17:45, Guillaume Gardet wrote:
Hi,
Does anybody thought about kernel preemption for ARM boards? It could be usefull since kernel preemption is intended to embedded system or (Low-latency) Desktop.
Moreover, If we want to enable openGL on omap4 (pandaboard), we need a preemptible kernel. Why? It is a build requirement, otherwise, we get: [ 664s] /home/abuild/rpmbuild/BUILD/pvr-omap4-kernel-1330667111/sgx/eurasiacon/binary2_omap4430_linux_release/target/kbuild/services4/srvkm/env/linux/osfunc.c:85:2: error: #error "A preemptible Linux kernel is required when using workqueues" That sounds very very wrong :).
Here is the code: #if defined(PVR_LINUX_USING_WORKQUEUES) && !defined(CONFIG_PREEMPT) /* * Services spins at certain points waiting for events (e.g. swap * chain destrucion). If those events rely on workqueues running, * it needs to be possible to preempt the waiting thread. * Removing the need for CONFIG_PREEMPT will require adding preemption * points at various points in Services. */ #error "A preemptible Linux kernel is required when using workqueues" #endif So, could we remove those lines safely?
Is there any objection to move to a preemptible kernel for omap2plus? For other ARM boards? For Factory and/or 12.2? It usually incurs overhead for not too much perceivable gain. Have you run into latency issues? No, but it may be useful for people using sound or things like that which need low latency. Well, we can switch _all_ our kernels to PREEMPT_VOLUNTARY.
According to the code, it is CONFIG_PREEMPT which is needed. Maybe we could ignore it or use PREEMT_VOLONTARY, safely? Guillaume
Alex
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org