From: "Björn Steinbrink" <B.Steinbrink@gmx.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nicolas Pitre <nico@cam.org>,
"Shawn O. Pearce" <spearce@spearce.org>,
Geert Bosch <bosch@adacore.com>, Andi Kleen <andi@firstfloor.org>,
Ken Pratt <ken@kenpratt.net>,
git@vger.kernel.org
Subject: Re: pack operation is thrashing my server
Date: Sat, 16 Aug 2008 14:47:31 +0200 [thread overview]
Message-ID: <20080816124731.GA13444@atjola.homenet> (raw)
In-Reply-To: <alpine.LFD.1.10.0808141656120.3324@nehalem.linux-foundation.org>
[-- Attachment #1: Type: text/plain, Size: 996 bytes --]
On 2008.08.14 17:06:13 -0700, Linus Torvalds wrote:
> The "hash" we use for looking things up is also pretty much a joke, and it
> has no overflow capability, it just replaces the old entry with a new one.
So I added some stupid tracing to cache_or_unpack entry to see how often
we reread the same stuff. The whole thing just logs the base_offset in
case of a cache miss. I've gc'ed my linux-2.6.git before the run, so
that there's only a single packed_git around (at least I hope so), and I
can ignore that for the tracing.
The whole log for a "git rev-list --objects HEAD" has about 1.2M
entries, while the output of the rev-list command has about 870k lines.
Some postprocessing of the trace shows that the majority of objects is
read only once or twice. A few percent are read three to ten times, and
some are read more than two hundred times.
I'll attach the post-processed thing. The format is:
x y
Meaning that there were x base_offset values for which we had y cache
misses.
Björn
[-- Attachment #2: cache-misses --]
[-- Type: text/plain, Size: 2437 bytes --]
391805 1
110622 2
27830 3
13995 4
8583 5
5834 6
4275 7
3242 8
2514 9
2168 10
1632 11
1336 12
1197 13
947 14
788 15
704 16
565 17
514 18
422 19
348 20
304 21
276 22
227 23
233 24
180 25
160 26
145 27
106 28
123 29
109 30
86 31
91 32
72 33
63 34
55 35
73 36
61 37
56 38
48 39
44 40
47 41
36 42
44 43
47 44
32 45
36 46
27 47
19 48
34 49
28 50
22 51
21 52
26 53
18 54
19 55
16 56
22 57
16 58
16 59
11 60
13 61
19 62
17 63
8 64
21 65
8 66
8 67
16 68
9 69
12 70
11 71
8 72
5 73
6 74
9 75
6 76
9 77
7 78
8 79
7 80
8 81
6 82
5 83
13 84
9 85
8 86
4 87
5 89
6 90
3 91
7 92
4 93
5 94
5 95
5 96
4 97
3 98
7 99
2 100
4 101
4 102
7 103
4 104
4 105
5 106
3 107
1 108
4 109
1 110
1 111
1 112
6 113
5 114
2 115
5 116
2 117
2 118
2 119
7 120
1 121
4 122
3 123
3 124
3 125
4 126
1 127
2 128
2 129
2 130
1 131
4 132
1 133
4 134
1 135
2 136
4 137
1 139
3 140
3 141
5 142
5 143
4 144
1 148
2 149
3 150
1 151
2 152
6 153
1 154
2 155
2 156
3 157
2 158
1 159
3 160
2 161
4 162
2 163
5 164
2 165
2 166
2 169
2 170
1 171
1 172
1 173
1 176
2 177
2 178
2 179
1 180
3 181
3 182
1 183
1 184
1 186
1 187
1 190
1 192
1 194
2 195
3 196
1 197
1 200
1 201
1 202
1 208
2 214
2 216
2 217
3 224
1 225
1 228
1 230
2 232
2 233
1 234
2 236
1 239
1 241
1 245
1 246
2 249
2 250
1 252
1 259
1 261
2 263
1 266
2 268
1 272
1 282
next prev parent reply other threads:[~2008-08-16 12:52 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-10 19:47 pack operation is thrashing my server Ken Pratt
2008-08-10 23:06 ` Martin Langhoff
2008-08-10 23:12 ` Ken Pratt
2008-08-10 23:30 ` Martin Langhoff
2008-08-10 23:34 ` Ken Pratt
2008-08-11 3:04 ` Shawn O. Pearce
2008-08-11 7:43 ` Ken Pratt
2008-08-11 15:01 ` Shawn O. Pearce
2008-08-11 15:40 ` Avery Pennarun
2008-08-11 15:59 ` Shawn O. Pearce
2008-08-11 19:13 ` Ken Pratt
2008-08-11 19:10 ` Andi Kleen
2008-08-11 19:15 ` Ken Pratt
2008-08-13 2:38 ` Nicolas Pitre
2008-08-13 2:50 ` Andi Kleen
2008-08-13 2:57 ` Shawn O. Pearce
2008-08-11 19:22 ` Shawn O. Pearce
2008-08-11 19:29 ` Ken Pratt
2008-08-11 19:34 ` Shawn O. Pearce
2008-08-11 20:10 ` Andi Kleen
2008-08-13 3:12 ` Geert Bosch
2008-08-13 3:15 ` Shawn O. Pearce
2008-08-13 3:58 ` Geert Bosch
2008-08-13 14:37 ` Nicolas Pitre
2008-08-13 14:56 ` Jakub Narebski
2008-08-13 15:04 ` Shawn O. Pearce
2008-08-13 15:26 ` David Tweed
2008-08-13 23:54 ` Martin Langhoff
2008-08-14 9:04 ` David Tweed
2008-08-13 16:10 ` Johan Herland
2008-08-13 17:38 ` Ken Pratt
2008-08-13 17:57 ` Nicolas Pitre
2008-08-13 14:35 ` Nicolas Pitre
2008-08-13 14:59 ` Shawn O. Pearce
2008-08-13 15:43 ` Nicolas Pitre
2008-08-13 15:50 ` Shawn O. Pearce
2008-08-13 17:04 ` Nicolas Pitre
2008-08-13 17:19 ` Shawn O. Pearce
2008-08-14 6:33 ` Andreas Ericsson
2008-08-14 10:04 ` Thomas Rast
2008-08-14 10:15 ` Andreas Ericsson
2008-08-14 22:33 ` Shawn O. Pearce
2008-08-15 1:46 ` Nicolas Pitre
2008-08-14 14:01 ` Nicolas Pitre
2008-08-14 17:21 ` Linus Torvalds
2008-08-14 17:58 ` Linus Torvalds
2008-08-14 19:04 ` Nicolas Pitre
2008-08-14 19:44 ` Linus Torvalds
2008-08-14 21:30 ` Andi Kleen
2008-08-15 16:15 ` Linus Torvalds
2008-08-14 21:50 ` Nicolas Pitre
2008-08-14 23:14 ` Linus Torvalds
2008-08-14 23:39 ` Björn Steinbrink
2008-08-15 0:06 ` Linus Torvalds
2008-08-15 0:25 ` Linus Torvalds
2008-08-16 12:47 ` Björn Steinbrink [this message]
2008-08-16 0:34 ` Linus Torvalds
2008-09-07 1:03 ` Junio C Hamano
2008-09-07 1:46 ` Linus Torvalds
2008-09-07 2:33 ` Junio C Hamano
2008-09-07 17:11 ` Nicolas Pitre
2008-09-07 17:41 ` Junio C Hamano
2008-09-07 2:50 ` Jon Smirl
2008-09-07 3:07 ` Linus Torvalds
2008-09-07 3:43 ` Jon Smirl
2008-09-07 4:50 ` Linus Torvalds
2008-09-07 13:58 ` Jon Smirl
2008-09-07 17:08 ` Nicolas Pitre
2008-09-07 20:33 ` Jon Smirl
2008-09-08 14:17 ` Nicolas Pitre
2008-09-08 15:12 ` Jon Smirl
2008-09-08 16:01 ` Jon Smirl
2008-09-07 8:18 ` Andreas Ericsson
2008-09-07 7:45 ` Mike Hommey
2008-08-14 18:38 ` Nicolas Pitre
2008-08-14 18:55 ` Linus Torvalds
2008-08-13 16:01 ` Geert Bosch
2008-08-13 17:13 ` Dana How
2008-08-13 17:26 ` Nicolas Pitre
2008-08-13 12:43 ` Jakub Narebski
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=20080816124731.GA13444@atjola.homenet \
--to=b.steinbrink@gmx.de \
--cc=andi@firstfloor.org \
--cc=bosch@adacore.com \
--cc=git@vger.kernel.org \
--cc=ken@kenpratt.net \
--cc=nico@cam.org \
--cc=spearce@spearce.org \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox