From: Duy Nguyen <pclouds@gmail.com>
To: steve.norman@thomsonreuters.com
Cc: Git Mailing List <git@vger.kernel.org>, Jeff King <peff@peff.net>
Subject: Re: Troubleshoot clone issue to NFS.
Date: Fri, 22 May 2015 07:16:54 +0700 [thread overview]
Message-ID: <CACsJy8BULBJ=cL1+4TFX_7tYSCFL3MNEz1Ay0YGqx8W_8=nwAg@mail.gmail.com> (raw)
In-Reply-To: <7FAE15F0A93C0144AD8B5FBD584E1C5519759641@C111KXTEMBX51.ERF.thomson.com>
On Thu, May 21, 2015 at 10:53 PM, <steve.norman@thomsonreuters.com> wrote:
> On Thu, May 21, 2015a at 9:31 PM, Duy Nguyen [mailto:pclouds@gmail.com], did scribble:
>> > In case an object is not found pack directory is re-read again, which
>> > might cause some increased load on nfs.
>> > has_sha1_file() not finding the object should not happen often..
>>
>> That last statement is probably very wrong, but I have no time to test this
>> now. In index-pack, there is a has_sha1_file() for file collision test. That call
>> on a fresh clone would fail for _every_ object in the
>> (new) pack and the cost of reprepare pack files could be sky high...
>
> Confirmed with bisect that it is that commit:
>
> ~/git $ git bisect bad
> 45e8a7487339c0f0ea28244ef06851308d07387c is the first bad commit
> commit 45e8a7487339c0f0ea28244ef06851308d07387c
> Author: Jeff King <peff@peff.net>
> Date: Fri Aug 30 15:14:13 2013 -0400
>
> I have an strace for that build but it is 153 megabytes so I probably shouldn't attach, but the call summary is below:
>
> % time seconds usecs/call calls errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 93.71 39.670084 103 386835 2171 futex
> 3.16 1.338572 7 190550 181 open
> 1.56 0.658786 18 37450 3 read
> 0.62 0.262740 2 141390 pread
> 0.41 0.171526 5 37313 9 write
> 0.18 0.076166 0 188859 188835 access
> 0.11 0.047941 0 374712 getdents
> 0.11 0.045174 11 4067 3910 lstat
> 0.06 0.023630 0 190425 close
> 0.04 0.017995 6 2975 1 fstat
> 0.02 0.007668 1917 4 wait4
> 0.01 0.004150 1 5065 madvise
> 0.01 0.003548 0 16090 8 recvfrom
> 0.00 0.001872 0 8048 select
> 0.00 0.001870 11 173 1 mkdir
> 0.00 0.000872 0 8055 poll
> 0.00 0.000262 22 12 12 readlink
> 0.00 0.000185 0 1217 1146 stat
> 0.00 0.000158 0 457 mprotect
> 0.00 0.000074 0 298 mmap
> 0.00 0.000069 1 109 8 rt_sigreturn
> 0.00 0.000047 0 159 brk
> 0.00 0.000021 1 17 getcwd
> 0.00 0.000000 0 42 3 lseek
> 0.00 0.000000 0 92 munmap
> 0.00 0.000000 0 35 rt_sigaction
> 0.00 0.000000 0 9 rt_sigprocmask
> 0.00 0.000000 0 8 3 ioctl
> 0.00 0.000000 0 11 pipe
> 0.00 0.000000 0 3 dup
> 0.00 0.000000 0 8 dup2
> 0.00 0.000000 0 6 setitimer
> 0.00 0.000000 0 11 1 socket
> 0.00 0.000000 0 8 7 connect
> 0.00 0.000000 0 8 sendto
> 0.00 0.000000 0 2 recvmsg
> 0.00 0.000000 0 1 bind
> 0.00 0.000000 0 1 getsockname
> 0.00 0.000000 0 3 1 getpeername
> 0.00 0.000000 0 2 setsockopt
> 0.00 0.000000 0 2 getsockopt
> 0.00 0.000000 0 8 clone
> 0.00 0.000000 0 5 execve
> 0.00 0.000000 0 3 uname
> 0.00 0.000000 0 100 fcntl
> 0.00 0.000000 0 2 fsync
> 0.00 0.000000 0 13 chdir
> 0.00 0.000000 0 14 rename
> 0.00 0.000000 0 2 link
> 0.00 0.000000 0 5 unlink
> 0.00 0.000000 0 2 symlink
> 0.00 0.000000 0 9 chmod
> 0.00 0.000000 0 6 getrlimit
> 0.00 0.000000 0 2 sysinfo
> 0.00 0.000000 0 8 getuid
> 0.00 0.000000 0 1 statfs
> 0.00 0.000000 0 5 arch_prctl
> 0.00 0.000000 0 1 gettid
> 0.00 0.000000 0 5 set_tid_address
> 0.00 0.000000 0 13 set_robust_list
> ------ ----------- ----------- --------- --------- ----------------
> 100.00 42.333410 1594736 196300 total
>
> Is there anything else I can provide or test?
In builtin/index-pack.c, replace the line "collision_test_needed =
has_sha1_file(sha1);" with "collision_test_needed = 0;". Security is
compromised but for this test it should be ok. Then clone again. I
hope the new number gets down close to v1.8.4.1.
--
Duy
next prev parent reply other threads:[~2015-05-22 0:17 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-21 13:13 Troubleshoot clone issue to NFS steve.norman
2015-05-21 14:00 ` Christian Couder
2015-05-21 14:31 ` Duy Nguyen
2015-05-21 14:38 ` Duy Nguyen
2015-05-21 15:53 ` steve.norman
2015-05-22 0:16 ` Duy Nguyen [this message]
2015-05-22 7:12 ` Jeff King
2015-05-22 8:35 ` steve.norman
2015-05-22 10:05 ` Duy Nguyen
2015-05-22 14:37 ` Junio C Hamano
2015-05-22 15:02 ` steve.norman
2015-05-22 23:51 ` [PATCH/RFC 0/3] using stat() to avoid re-scanning pack dir Jeff King
2015-05-22 23:51 ` [PATCH 1/3] stat_validity: handle non-regular files Jeff King
2015-05-23 11:00 ` Michael Haggerty
2015-05-24 8:29 ` Jeff King
2015-05-22 23:52 ` [PATCH 2/3] cache.h: move stat_validity definition up Jeff King
2015-05-22 23:54 ` [PATCH 3/3] prepare_packed_git: use stat_validity to avoid re-reading packs Jeff King
2015-05-23 1:19 ` [PATCH/RFC 0/3] using stat() to avoid re-scanning pack dir Duy Nguyen
2015-05-23 1:21 ` Duy Nguyen
2015-05-24 8:20 ` Jeff King
2015-05-24 9:00 ` Troubleshoot clone issue to NFS Duy Nguyen
2015-06-05 12:01 ` steve.norman
2015-06-05 12:18 ` Jeff King
2015-06-05 12:29 ` [PATCH] index-pack: avoid excessive re-reading of pack directory Jeff King
2015-06-09 17:24 ` Jeff King
2015-06-09 17:41 ` Jeff King
2015-06-10 3:46 ` Shawn Pearce
2015-06-10 14:00 ` Jeff King
2015-06-10 14:36 ` Duy Nguyen
2015-06-10 21:34 ` Shawn Pearce
2015-06-05 14:20 ` Troubleshoot clone issue to NFS steve.norman
2015-06-16 20:50 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CACsJy8BULBJ=cL1+4TFX_7tYSCFL3MNEz1Ay0YGqx8W_8=nwAg@mail.gmail.com' \
--to=pclouds@gmail.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=steve.norman@thomsonreuters.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).