[sheepdog] [PATCH 1/6] sheep: avoid atomic operations against uint64_t/int64_t variables
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Mon Sep 24 19:26:40 CEST 2012
At Mon, 24 Sep 2012 17:08:15 +0800,
Liu Yuan wrote:
>
> On 09/19/2012 12:25 PM, MORITA Kazutaka wrote:
> > On 32 bit architectures, atomic operations against 64 bit integers are
> > not allowed. This patch uses more proper types for them.
>
> This patch limit object cache size to 4G, which is completely
> unacceptable to object cache users.
>
> You mentioned we don't support 32 bits machine, but why bother patching
> this?
Well, I don't remember that. Supporting other architectures has been
on my todo list since I started Sheepdog project. Actually, I have a
small i386 cluster though I use it only for testing purpose.
Anyway, I should have used 'unsigned long', which is the biggest type
supported by urcu on both x86_64 and i386, instead of 'uint32_t'.
Then, we can use more than 4 GB object cache on 64 bit machines. I
think counting the number of cache objects instead of cache size looks
better, though.
Thanks,
Kazutaka
More information about the sheepdog
mailing list