From: Ralf Baechle <ralf@linux-mips.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: git@vger.kernel.org
Subject: Re: Slow fetches of tags
Date: Wed, 24 May 2006 19:08:13 +0100 [thread overview]
Message-ID: <20060524180813.GA32519@linux-mips.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0605240931480.5623@g5.osdl.org>
On Wed, May 24, 2006 at 09:45:29AM -0700, Linus Torvalds wrote:
> So this is a tree where you already _have_ most of the tags, no?
Yes, git did end up only fetching v2.6.16.18 as the single tag.
> Can you add a printout to show what the "taglist" is for you in
> git-fetch.sh (just before the thing that does that
>
> fetch_main "$taglist"
>
> thing?). It _should_ have pruned out all the tags you already have.
Right, it's just "refs/tags/v2.6.16.18:refs/tags/v2.6.16.18".
> Or is it just the "git-ls-remote" that takes forever?
git-ls-remote git://www.kernel.org/pub/scm/linux/kernel/git/stable/\
linux-2.6.16.y takes about 1.5s.
> (Or, if you run
> "top", is there something that is an obviously heavy operation on the
> client side?)
git-fetch-pack was burning some 6min CPU. Nothing else even even shows
up on the "top" radar.
Another funny thing I noticed in top is that the git-fetch-pack arguments
got overwritten:
$ cat /proc/1702/cmdline | tr '\0' ' '
git-fetch-pack --thin git //www.kernel.org pub/scm/linux/kernel/git/stable/linux-2.6.16.y.git efs/heads/master efs/tags/v2.6.16.18
Guess that doesn't matter. Anyway, so I ran strace on this git-fetch-pack
invocation:
[...]
munmap(0xb7fe5000, 229) = 0
getdents(5, /* 0 entries */, 4096) = 0
close(5) = 0
getdents(4, /* 0 entries */, 4096) = 0
close(4) = 0
write(3, "0046want 9b549d8e1e2f16cffbb414a"..., 70) = 70
write(3, "0000", 4) = 4
write(3, "0032have 0bcf7932d0ea742e765a40b"..., 50) = 50
write(3, "0032have 54e938a80873e85f9c02ab4"..., 50) = 50
write(3, "0032have 2d0a9369c540519bab8018e"..., 50) = 50
write(3, "0032have bf3060065ef9f0a8274fc32"..., 50) = 50
write(3, "0032have 27602bd8de8456ac619b77c"..., 50) = 50
[... another 42,000+ similar lines chopped off ...]
9b549d8e1e2f16cffbb414a is Chris Wright's tag for v2.6.16.18. So far,
as expected.
And this is where things are getting interesting:
$ git-name-rev 0bcf7932d0ea742e765a40b
0bcf7932d0ea742e765a40b master
$ git-name-rev 54e938a80873e85f9c02ab4
54e938a80873e85f9c02ab4 34k-2.6.16.18
$ git-name-rev 2d0a9369c540519bab8018e
2d0a9369c540519bab8018e 34k-2.6.16.18~1
$ git-name-rev bf3060065ef9f0a8274fc32
bf3060065ef9f0a8274fc32 34k-2.6.16.18~2
$ git-name-rev 27602bd8de8456ac619b77c
27602bd8de8456ac619b77c 34k-2.6.16.18~3
It's sending every object back to the start of history ...
Ralf
next prev parent reply other threads:[~2006-05-24 18:08 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-24 13:10 Slow fetches of tags Ralf Baechle
2006-05-24 16:45 ` Linus Torvalds
2006-05-24 17:21 ` Linus Torvalds
2006-05-24 18:08 ` Junio C Hamano
2006-05-24 19:17 ` Linus Torvalds
2006-05-24 23:43 ` Linus Torvalds
2006-05-25 1:32 ` Junio C Hamano
2006-05-25 4:48 ` Junio C Hamano
2006-05-26 15:42 ` Ralf Baechle
2006-05-27 2:20 ` [PATCH/RFC] upload-pack: stop "ack continue" when we know common commits for wanted refs Junio C Hamano
2006-05-25 13:12 ` Slow fetches of tags Ralf Baechle
2006-07-26 23:27 ` Junio C Hamano
2006-07-28 10:42 ` Johannes Schindelin
2006-07-28 11:12 ` [PATCH] Teach the git wrapper about --name-rev and --name-rev-by-tags Johannes Schindelin
2006-07-28 15:43 ` Junio C Hamano
2006-07-28 16:59 ` Linus Torvalds
2006-07-28 18:53 ` Johannes Schindelin
2006-07-29 12:43 ` Nguyễn Thái Ngọc Duy
2006-07-29 12:47 ` Johannes Schindelin
2006-05-24 19:06 ` Slow fetches of tags Junio C Hamano
2006-05-24 18:08 ` Ralf Baechle [this message]
2006-05-24 18:41 ` Junio C Hamano
2006-05-25 13:27 ` Ralf Baechle
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060524180813.GA32519@linux-mips.org \
--to=ralf@linux-mips.org \
--cc=git@vger.kernel.org \
--cc=torvalds@osdl.org \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.