From mboxrd@z Thu Jan 1 00:00:00 1970 From: compudj@krystal.dyndns.org (Mathieu Desnoyers) Date: Thu, 18 Feb 2010 11:09:34 -0500 Subject: [ltt-dev] [PATCH 12/12] centralize definition of BITS_PER_LONG In-Reply-To: <4B7D5C45.9020804@redhat.com> References: <1266260686-17588-1-git-send-email-pbonzini@redhat.com> <1266260686-17588-13-git-send-email-pbonzini@redhat.com> <20100218032554.GG11338@Krystal> <4B7CFE10.8070803@redhat.com> <20100218134600.GA5825@Krystal> <4B7D5C45.9020804@redhat.com> Message-ID: <20100218160934.GA17107@Krystal> * Paolo Bonzini (pbonzini at redhat.com) wrote: > On 02/18/2010 02:46 PM, Mathieu Desnoyers wrote: >>> > >>> > I32LLP64 is basically only Mingw64 and ia64-hpux. >> And anyway I32LLP64 have 4-byte longs, so they should work anyway with >> these tests. >> >>> > They'd probably break >>> > horribly because with 99% likelihood somewhere there is an assumption >>> > that sizeof (long) == sizeof (void*). >> >> In the atomic ops headers possibly, yes. > > You couldn't use atomic op headers to exchange pointers too. Maybe not > used by liburcu, but still a strong limitation. Well the current atomic op headers are per-architecture. This should be taken into account for the generic version you are proposing I guess. > > Some time we should also add double-long compare-and-swap, that's very > useful for lock-free lists. Yes, good idea! Although this won't be available on all architectures. We might have to think of a mutex-based compatibility layer for these. Do you have pointers to papers describing this double-wide CAS linked-list structure ? I wonder if we could use a clever RCU structure to mimick the double-wide CAS. Thanks, Mathieu > > Paolo > > _______________________________________________ > ltt-dev mailing list > ltt-dev at lists.casi.polymtl.ca > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev > -- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68