[PATCH] Fix issue 1719, inotify dirstate when dirty (v2: improved matching + extended test)

Simon Heimberg simohe at besonet.ch
Wed Aug 26 16:13:21 CDT 2009

Benchmarking showed that qpush with inotify is not quicker than without
inotify. There is a small gain when the CPU (or the disc?) is on high

Does this mean the one line patch (which disables inotify on dirty
dirstate) is preferred?

(The fetch extension currently also fails when inotify is enabled. Does
this need more benchmarking? Btw, the issue number has changed to 1811.)


Details of benchmarking:
kernel repo at v2.6.26-rc2
applying all patches from the -mm quilt (executed qref for all patches
which applied with a warning)

execute command:
(hg st # for starting inotify)
time hg qpu -a -q
(hg qpo -a -q)

high l.	w inotify	w/o inotify	low l.	w inotif	w/o inotify
real	1m32.836s	2m7.508s		1m5.765s	1m0.737s
user	0m36.166s	0m36.614s		0m36.826s	0m37.55s
sys	0m2.916s	0m3.576s		0m2.836s	0m3.224s

Am Montag, den 17.08.2009, 09:35 +0200 schrieb Benoit Boissinot: 
> On Mon, Aug 17, 2009 at 09:19:35AM +0200, Simon Heimberg wrote:
> > Hello Benoit
> > 
> > Nicolas rejected to "disable" inotify when the dirstate is dirty. (This
> > was my first fix, a one line patch.)
> > 
> > The bug is currently only triggered with mq (inside of repo.commit). But
> > I did not check all extensions, especially not the external ones. And I
> > do not know the feature development.
> > 
> > How can I do benchmarking? There is not perfqpu command in perf.py.
> > I created a mq patch containing revisions 59bb11a97fe5 to f7c334e810c2
> > of hg crew. Then I executed "time hg qpu". The results are below. Almost
> > the same. How can I do better benchmarking?
> > 
> The best mq patch is probably still the time for applying the -mm quilt
> from the kernel:
> - clone the kernel repo (can take a long time) from http://www.kernel.org/hg/linux-2.6
> - update to a tag
> - download the corresponding broken-out:
>   http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.28-rc2/2.6.28-rc2-mm1/
> - copy it into .hg/patches
> and then you have something to benchmark on a repo where inotify
> matters.
> regards,
> Benoit

More information about the Mercurial-devel mailing list