gnu-arch-users
[Top][All Lists]
Advanced

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

Re: [Gnu-arch-users] explicit id syscall stats with working inode cachin


From: Aaron Bentley
Subject: Re: [Gnu-arch-users] explicit id syscall stats with working inode caching..
Date: Tue, 10 Feb 2004 07:55:13 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Robert Collins wrote:

So I've found the bug preventing best case: when there are multiple
inode sigs, the wrong one is used in arch_read_id_shortcut...

On Tue, 2004-02-10 at 11:29, Robert Collins wrote:
top syscall summary for my --integration-- branch (which has some
optimisations over tom's currently)

The command being tested is 'tla changes' on one of my Squid branches.

 22756 lstat64
 20725 read
 11058 open
 11022 close
  1550 getdents64
   759 fstat64
   753 fcntl64
   501 stat64
254 brk
top syscall summary for my --inodes-- branch when only one inode sig is present 
in the pristine. (I'm fixing this now..)

  26871 lstat64
   1560 getdents64
   1418 read
   1065 open
   1065 close
    768 fstat64
    762 fcntl64
    501 stat64
    264 brk

I think you'll agree thats quite a drop ;).
Phew, that's a relief!

file_contents_differ () should only be invoked when file size hasn't changed, but inode sigs don't match, i.e. never. If you're getting any significant number of calls, there's room for improvement there. I believe patch-23 made some changes in that regard.

also, here's how to add inode sigs for get --link:
address@hidden/tlasrc--sigfix--0--patch-1

--- orig/libarch/cmd-get.c
+++ mod/libarch/cmd-get.c
@@ -370,6 +370,7 @@
        safe_printfmt (1, "* hard linking to library\n");
        safe_flush (1);
build_partial_link_tree (arch_library_find (0, archive, revision), tmp_dir, index);
+       arch_snap_inode_sig (tmp_dir, archive, revision);

        lim_free (0, revision_dir);
      }


Aaron




reply via email to

[Prev in Thread] Current Thread [Next in Thread]