From mboxrd@z Thu Jan 1 00:00:00 1970 From: paulmck@linux.vnet.ibm.com (Paul E. McKenney) Date: Wed, 16 Jun 2010 08:53:51 -0700 Subject: [ltt-dev] [PATCH RFC] Force build failure on unknown architectures In-Reply-To: <20100616134651.GC25401@Krystal> References: <20100615231423.GA16064@linux.vnet.ibm.com> <4C1812E1.5080103@redhat.com> <20100616001228.GM2304@linux.vnet.ibm.com> <4C18C236.3030100@redhat.com> <20100616134651.GC25401@Krystal> Message-ID: <20100616155351.GB2457@linux.vnet.ibm.com> On Wed, Jun 16, 2010 at 09:46:52AM -0400, Mathieu Desnoyers wrote: > * Paolo Bonzini (pbonzini at redhat.com) wrote: > > On 06/16/2010 02:12 AM, Paul E. McKenney wrote: > >> 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!) > > > > I don't know. :) > > > >> 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. > > > > Sure, thanks! > > So given the #error on unknown removes ia64 support, I'll wait for a patch > resend before I merge this patch along with the "gcc-based" ia64 support. Is > that OK ? So Paul, could you resend this patch along with the ia64 support based > on gcc ? Sounds good -- I will rebase everything against current origin/master and resend. Thanx, Paul