> Also, we may need to flush the cache line for &var. The coding in buffer.c > which caused the original panic in xchg looks dubiousin this regoard: > > /* Update the reuse list */ > tail->b_next_free = xchg(&reuse_list, NULL); > reuse_list = bh; spin lock and atomic ops are expected to be write barriers across all CPUs