This is gizmod 3.4 (package gizmod-3.4-0ubuntu1) on Ubuntu 9.04 with kernel 2.6.31 (package linux-image-2.6.31-020631rc5-generic) i686. gizmod runs and operates fine, but consumes between 80 and 100% of the CPU. strace, for what it is worth, reports a constant stream of these:
poll([{fd=3, events=POLLIN|POLLOUT}, {fd=0, events=POLLIN|POLLOUT}, {fd=4, events=POLLIN|POLLOUT}, {fd=5, events=POLLIN|POLLOUT}, {fd=6, events=POLLIN|POLLOUT}, {fd=7, events=POLLIN|POLLOUT}, {fd=8, events=POLLIN|POLLOUT}, {fd=9, events=POLLIN|POLLOUT}, {fd=10, events=POLLIN|POLLOUT}, {fd=11, events=POLLIN|POLLOUT}, {fd=12, events=POLLIN|POLLOUT}, {fd=13, events=POLLIN|POLLOUT}, {fd=14, events=POLLIN|POLLOUT}], 13, 1000^C) = 1 ([{fd=0, revents=POLLOUT}])
so it looks like gizmod is just busy polling.
I just recently got this problem, when I upgraded my Gentoo from kernel 2.6.35 to 2.6.36. Apparently they removed CONFIG_INOTIFY from kernel options in 2.6.36.
Now I have the same problem as the OP, however I'm not getting that output, I have version 3.5 though. With verbosity 5 and debug mode on, I just get an infinite amount of these:
Processing File Events...
Processing File Events...
and CPU usage is 100%.
I think as OP does that gizmod is busy polling. In my case because CONFIG_INOTIFY has been removed from kernel options.
CONFIG_INOTIFY_USER is still in the kernel. What actually is the replacement for inotify? I figure it replaced dnotify but what makes inotify obsolete, or are things moving to user space or something? Any way to make gizmod compatible? Is this even the reason? :)
Hi, i had that problem too since upgrading to 2.6.36.
The following Hack solves it for me:
--- ./libH/FileEventWatcher.cpp 2011-03-18 23:16:40.557245002 +0100
+++ gizmod-3.5/libH/FileEventWatcher.cpp 2008-11-09 19:18:13.000000000 +0100
@@ -231,7 +231,7 @@
break;
case WATCH_INOUT:
flags = O_RDWR;
- events = POLLIN | POLLOUT;
+ events = POLLIN;// | POLLOUT;
ModeString = "Read / Write";
break;
case WATCH_INVALID:
Thanks, that hack seems to work here, too!
Hi finnpanther,
is this hack already the final solution, or are you still looking for something different? Do you know kernel option CONFIG_FANOTIFY? I think, this the replacement for CONFIG_INOTIFY. I recently read an article about this in the German c't magazine. Obviously fanotify provides more possibilites than inotify.
Hi mhr1965,
thanks for the suggestion, I might check it out the next time I'm compiling the kernel. Indeed I seem to have FANOTIFY not set. However, it's been a year now since I applied the hack and I've had zero problems with gizmod after that, so I guess you could call it final solution, at least for me :)