From mboxrd@z Thu Jan 1 00:00:00 1970 From: paulmck@linux.vnet.ibm.com (Paul E. McKenney) Date: Tue, 15 Jun 2010 17:12:28 -0700 Subject: [ltt-dev] [PATCH RFC] Force build failure on unknown architectures In-Reply-To: <4C1812E1.5080103@redhat.com> References: <20100615231423.GA16064@linux.vnet.ibm.com> <4C1812E1.5080103@redhat.com> Message-ID: <20100616001228.GM2304@linux.vnet.ibm.com> On Wed, Jun 16, 2010 at 01:55:13AM +0200, Paolo Bonzini wrote: > On 06/16/2010 01:14 AM, Paul E. McKenney wrote: > >Create urcu/arch_unknown.h and urcu/uatomic_arch_unknown.h, which > >contain only #error statements and explanatory comments. This forces > >build failures on unrecognized architectures in preference to trying > >to guess at what operations might be safe on such architectures. > > > >One other semi-feasible alternative is to use hashed arrays of locks > >that are acquired with signals disabled. However, this seems a bit > >too ornate, especially for architectures for which the gcc __sync_ > >primitives work correctly. > > ia64 is one. Does ia64 work with the current code? (My guess is "no" -- I believe that you would get build errors. But I have been surprised before!) If my guess is correct, my thought would be to create urcu/arch_gcc.h and urcu/uatomic_arch_gcc.h files with the appropriate definitions based on __sync_ primitives. If you can test on IA64, I would also be happy to add support for it based on these new files. Or am I missing your point? Thanx, Paul