cachefs broken on ppc64

From: Paul Mackerras
Date: Sun Nov 21 2004 - 18:29:52 EST


David,

I just tried compiling 2.6.10-rc2-mm2, and just for fun, I turned on
cachefs, and found out that cachefs won't build on ppc64. The problem
is that it is using xchg() on 16-bit quantities, which we don't
support on ppc (32 or 64). Is there a good reason why
cachefs_super.ujnl_serial has to be 16 bits rather than 32?

It worries me a bit that you are using xchg() so much, actually. It
feels like you are trying to be clever and do things without taking
any locks, but there are no memory barriers anywhere in fs/cachefs
that I could see. So I suspect it would have problems on SMP ppc64 or
ia64 systems, which have weak memory consistency. Or is there some
serialization at a higher level that saves you? (If so, why do you
need to use xchg()?)

Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/