Re: pack operation is thrashing my server

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

 



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
 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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux