rem: return HASH(key->offset, key->ref) % range;
add: return HASH(key->offset, key->cache) % range;
context: page_hash_func(void *_p, const void *_key, uint32 range){	vm_page *p = _p;	const struct page_lookup_key *key = _key;#if 0	if(p)		dprintf("page_hash_func: p 0x%x, key 0x%x, HASH = 0x%x\n", p, key, HASH(p->offset, p->cache_ref) % range);	else		dprintf("page_hash_func: p 0x%x, key 0x%x, HASH = 0x%x\n", p, key, HASH(key->offset, key->ref) % range);#endif#define HASH(offset, ref) ((unsigned int)(offset >> 12) ^ ((unsigned int)(ref)>>4))	if (p)		return HASH(p->offset, p->cache_ref) % range;	return HASH(key->offset, key->ref) % range;}