|
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 stat64254 brktop 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
[Prev in Thread] | Current Thread | [Next in Thread] |