After a recent DirectFB update I noticed that the applications are now
using 100% system time. A quick look at linux-fusion history pointed me
at the following commit: 

commit 9ef27337f4ab671b6d863beb5f3ea493eb5332fa
Author: Niels Roest <ni...@directfb.org>
Date:   Mon Jan 19 16:30:58 2009 +0100

    [call] small change on advise of dok, fixes other cases too.

diff --git a/linux/drivers/char/fusion/fusionee.c 
b/linux/drivers/char/fusion/fusionee.c
index 780b874..e79f33b 100644
--- a/linux/drivers/char/fusion/fusionee.c
+++ b/linux/drivers/char/fusion/fusionee.c
@@ -521,14 +521,11 @@ fusionee_poll (FusionDev   *dev,
 
      fusion_fifo_reset( &fusionee->prev_msgs );
 
-     /* if we have previous messages, fusionee_wait_processing() can be 
waiting */
-     if (prev_msgs.count)
-          wake_up_interruptible_all (&fusionee->wait);
-
      unlock_fusionee (fusionee);
 
      flush_messages( dev, &prev_msgs );
 
+     wake_up_all (&fusionee->wait);
 
      poll_wait (file, &fusionee->wait, wait);


So it now seems to wake itself up unconditionally when fusionee_poll()
is called, which happens after do_select() has set the task state to
interruptible. Reverting the offending commit does cure the problem for
me.

-- 
Ville Syrjälä
syrj...@sci.fi
http://www.sci.fi/~syrjala/
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to