// if e is marked now, skip the check (the memory barrier ensures that we reread it
// from memory (and not from a register)
if(!MARKED(e->next[l])&&n!=e){
cprintf("%d: check level %d failed 0x%lx-0x%lx(%lu) m %lu c %d t %d; in high level but not low\n",t,l,e->key,e->key+e->size,e->size,MARKED(e->next[l]),e->curlevel.load(),e->nlevel);
if(!e->next[l].mark()&&n!=e){
cprintf("%d: check level %d failed 0x%lx-0x%lx(%lu) m %d c %d t %d; in high level but not low\n",t,l,e->key,e->key+e->size,e->size,(bool)e->next[l].mark(),e->curlevel.load(),e->nlevel);