On Wed, 2005-08-03 at 03:33 -0400, Daniel Veillard wrote: > On Tue, Aug 02, 2005 at 10:01:32PM -0400, John McCutchan wrote: > > Yo, > > > > I just checked in a complete rewrite of the inotify backend. This new > > backend does not use the poll backend at all. This means that memory > > usage of this new backend is much lower because we don't have to > > maintain stat trees. > > Hum, I do not understand. I still expect that gamin will stop the > kernel monitoring for busy resources (if not what flow control do you > have at the kernel level to avoid continuously context-switching ?), > and in that case you need to maintain the stat() information to report > further changes or reenable kernel monitoring if not busy anymore. > So I don't understand, can you explain ? >
No, this new backend does not provide flow control. The kernel has simple flow control that works really well in the 'fast download scenario'. The kernel just checks the last event queued if it's the same as the one it is about to queue it drops the new event. Since at the kernel level we are combining multiple sources of events into one queue, we sometimes don't drop as many events as we could. So I have plans to provide each connection/listener with an event queue and do the same type of flow control. > > CPU usage is much lower than the dnotify backend, > > and slightly lower than the old inotify backend. This new backend passes > > all the test suite tests except for dnotift15, and the flood tests. It > > can't pass those tests because they rely on falling back on the poll > > backend. > > We should make the flood tests check for the deactivation of the > kernel monitoring, this could be different for inotify but this should > still be done. I need to double check dnotify15.py for analysis. Well, the inotify backend will never deactivate kernel monitoring. Because I don't want to have to maintain the stat() trees. There are quite a few dnotifyisms on the test suite. But, I have verified the event stream in all the passing test cases. Could you run make tests with the latest code (using the dnotify backend)? -- John McCutchan <[EMAIL PROTECTED]> _______________________________________________ Gamin-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gamin-list
