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

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Genode-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to