Date: Mon, 23 Jan 2006 23:29:53 +0100 From: Alex Dupre <ale@FreeBSD.org> To: Jean-Yves Lefort <jylefort@FreeBSD.org> Cc: ports@FreeBSD.org, kris@obsecurity.org Subject: Re: fam vs gamin Message-ID: <43D558E1.5080703@FreeBSD.org> In-Reply-To: <20060123212614.6f570f8f.jylefort@FreeBSD.org> References: <20060123040721.GA95972@xor.obsecurity.org> <43D47E36.1070906@FreeBSD.org> <20060123212614.6f570f8f.jylefort@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Jean-Yves Lefort wrote: > The delays are likely caused by the fact that you have reached the > file descriptor limit; beyond that limit, gamin can no longer monitor > files with kqueue, and has to periodically lstat() them. You should > try to set a very large kern.maxfiles in /boot/loader.conf (you need > one file descriptor per monitored file); see pkg-message for details. Yes, I did it, but the problem about delays was different (not a matter of a few seconds related to kqueue or polling). Today I discovered it's present also with polling and probably due to this (from gam_channel.c): /** * Todo: check if write will block, or use non-blocking options */ I suspect the write to one client blocks and until some events are read no more events are delivered even to other clients. > However, events should never be lost (although they can be > substantially delayed when monitoring a very large directory on a slow > machine, because event processing time increases linearly with the > number of files contained in the directory). Please cc your findings > to me. Of course. Today I had no time to test the kqueue backend, but I'll do it tomorrow. If I remember correctly, this was the scenario where I detected lost events: - a few dirs with thousans file (5 dirs with 2000 files) - new fam connection and 5 monitors on these dirs - one or two directory correctly delivered Exists events for the existing files, the others delivered only Exists and EndExist for the directories, as if they were empty In any case I'll be more precise tomorrow. -- Alex Dupre
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43D558E1.5080703>