Re: [PATCH] inotify to minimize stat() calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thomas Rast <trast@xxxxxxxxxxx> writes:

> Robert Zeh <robert.allan.zeh@xxxxxxxxx> writes:
>
>> On Thu, Apr 25, 2013 at 3:18 AM, Thomas Rast <trast@xxxxxxxxxxx> wrote:
>>>
>>> I don't get this bit.  The lstat() are run over all files listed in the
>>> index.  So shouldn't your daemon watch exactly those (or rather, all
>>> dirnames of such files)?
>> I believe that fill_directory is handling watching only files in the index.
>> I had some problems a while back when I was only watching the
>> directory with some of the inotify structures coming back empty, which
>> is why I started watching each individual file.
>
> This probably doesn't scale well enough.  For example on my system the
> maximum number of watches I can set[1] is 64k.  linux.git contains 38k
> files and the total number of files in all repos of an android clone I
> have lying around is almost 300k.

[I just sent something similar as a reply to a mail that I then noticed
was sent off-list, but I meant it to be public.]

I just had a change of heart.  It's probably better for the early work
if you make a very controllable, single-repository daemon.  Perhaps one
that only starts on demand (by running some git command) and runs until
again killed on demand.

That way it's much easier to test, and integrate as an option in the
test suite.  And for single-repo-minded people, like (I guess?) the
kernel and webkit folks, this should already provide some benefit.

The per-user daemon complication can come later; we know even at this
point that it will have to be done *eventually*, but let's go one step
at a time.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]