Hi all,
you have a race condition in oklinux/contrib/arch/l4/kernel/sys_genode.c resp. oklx_genode.patch lines 1894..1905
#ifdef CONFIG_FB_GENODE + if(genode_input_initialized()) + { + /* Put the input events into our framebuffer driver */ + num = genode_input_flush(); + for(i=0;i<num;i++) { + genode_input_event(i, genode_fb_mouse_event, genode_fb_key_event); + } + } +#endif //CONFIG_FB_GENODE + + genode_lock(timer_main_kernel_lock);
which shows up under heavy load (freezing Xfbdev, raising some BUG()s or a pagefault in update_stats_wait_end).
Moving the input polling into the critical section solved the problem here:
+ genode_lock(timer_main_kernel_lock); + #ifdef CONFIG_FB_GENODE + if(genode_input_initialized()) + { + /* Put the input events into our framebuffer driver */ + num = genode_input_flush(); + for(i=0;i<num;i++) { + genode_input_event(i, genode_fb_mouse_event, genode_fb_key_event); + } + } +#endif //CONFIG_FB_GENODE
Cheers
Sven -- Sven Fülster