*** mp/mp_fget.c.orig 2006-05-30 20:44:11.000000000 -0700 --- mp/mp_fget.c 2006-05-30 20:44:22.000000000 -0700 *************** *** 577,584 **** */ if (state != SECOND_MISS && bhp->ref == 1) { bhp->priority = UINT32_MAX; ! SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh); ! SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq); hp->hash_priority = SH_TAILQ_FIRST(&hp->hash_bucket, __bh)->priority; } --- 577,587 ---- */ if (state != SECOND_MISS && bhp->ref == 1) { bhp->priority = UINT32_MAX; ! if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) != ! SH_TAILQ_LAST(&hp->hash_bucket, hq, __bh)) { ! SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh); ! SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq); ! } hp->hash_priority = SH_TAILQ_FIRST(&hp->hash_bucket, __bh)->priority; }