Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Fix object re-hashing

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:19

Linus Torvalds [off-list ref] writes:
On Sun, 12 Feb 2006, Junio C Hamano wrote:
quoted
This "fix" makes the symptom that me fire two (maybe three)
Grrrrr messages earlier this morning disappear.
Goodie. I assume that was the fixed fix, not my original "edit out the 
useless optimization and then break it totally" fix ;)
quoted
I haven't had my caffeine nor nicotine yet after my short sleep, so I 
need to take some time understanding your explanation first, but I am 
reasonably sure this must be it (not that I do not trust you, not at all 
-- it is that I do not trust *me* applying a patch without understanding 
when I have a bug reproducible).
Your explanation finally made sense to me, without caffeine nor
nicotine yet, but when I tried to do an illustration.

If the initial obj_allocs were 4 instead of 32, we may have
something lie this before rehashing.

slot    value
 0        3
 1        -
 2        -
 3        7

Rehash to double the hash goes like this:

        step1    step2    step3         fixup rehash
       enlarge  rehash   rehash         missing from
        array    "3%8"    "7%8"         the original
 0        3        -        -                -
 1        -        -        -                -
 2        -        -        -                -
 3        7        7        -                3
 4        -        3        3                -
 5        -        -        -                -
 6        -        -        -                -
 7        -        -        7                7

We cannot find "3%8" without the fix.

Thanks for the fix.  Will do an updated "master" soon.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help