*** mp/mp_fget.c.orig 2003-09-25 08:29:02.000000000 -0700 --- mp/mp_fget.c 2006-05-26 14:58:02.246963204 -0700 *************** *** 553,560 **** */ if (state != SECOND_MISS && bhp->ref == 1) { bhp->priority = UINT32_T_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; } --- 553,563 ---- */ if (state != SECOND_MISS && bhp->ref == 1) { bhp->priority = UINT32_T_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; }