On Wed, 22 Jan 2025 at 17:02, Yura Sokolov <y.soko...@postgrespro.ru> wrote: > I believe, I know why it happens: I was in hurry making v2 by > cherry-picking internal version. I reverted some changes in > CalcCuckooPositions manually and forgot to add modulo > PREV_LINKS_HASH_CAPA. > > Here's the fix: > > pos->pos[0] = hash % PREV_LINKS_HASH_CAPA; > - pos->pos[1] = pos->pos[0] + 1; > + pos->pos[1] = (pos->pos[0] + 1) % PREV_LINKS_HASH_CAPA; > pos->pos[2] = (hash >> 16) % PREV_LINKS_HASH_CAPA; > - pos->pos[3] = pos->pos[2] + 2; > + pos->pos[3] = (pos->pos[2] + 2) % PREV_LINKS_HASH_CAPA; > > Any way, here's v3: > - excess file "v0-0001-Increase..." removed. I believe it was source > of white-space apply warnings. > - this mistake fixed > - more clear slots strategies + "8 positions in two cache-lines" strategy. > > You may play with switching PREV_LINKS_HASH_STRATEGY to 2 or 3 and see > if it affects measurably.
Thanks for your quick fixing. I will retest it tomorrow. -- Regrads, Japin Li