From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754697AbZJAGmi (ORCPT ); Thu, 1 Oct 2009 02:42:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753523AbZJAGmh (ORCPT ); Thu, 1 Oct 2009 02:42:37 -0400 Received: from mx3.mail.elte.hu ([157.181.1.138]:34184 "EHLO mx3.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753506AbZJAGmg (ORCPT ); Thu, 1 Oct 2009 02:42:36 -0400 Date: Thu, 1 Oct 2009 08:42:09 +0200 From: Ingo Molnar To: Eric Dumazet Cc: Linus Torvalds , Arjan van de Ven , Martin Schwidefsky , Thomas Gleixner , John Stultz , Linux Kernel Mailing List , Peter Zijlstra Subject: Re: [GIT PULL] scheduler fixes Message-ID: <20091001064209.GA25189@elte.hu> References: <20090930170754.0886ff2e@infradead.org> <4AC37FE5.7020200@gmail.com> <20090930185315.GA9716@elte.hu> <20090930220342.GA2118@elte.hu> <4AC43E7E.1000600@gmail.com> <20091001061109.GA21488@elte.hu> <4AC449BD.1060003@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4AC449BD.1060003@gmail.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.5 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Eric Dumazet wrote: > Ingo Molnar a écrit : > > > > That's not enough - the inline assembly code in > > arch/x86/include/asm/cmpxchg_32.h should also not reference > > cmpxchg8b_emu in that case. > > > > I believe it is OK as is, since cmpxchg8b_emu is referenced only > once, in a section guarded by : > #ifndef CONFIG_X86_CMPXCHG64 yeah. But this bit is wrong: > +++ b/arch/x86/lib/Makefile > @@ -15,8 +15,10 @@ ifeq ($(CONFIG_X86_32),y) > obj-y += atomic64_32.o > lib-y += checksum_32.o > lib-y += strstr_32.o > - lib-y += semaphore_32.o string_32.o cmpxchg8b_emu.o > - > + lib-y += semaphore_32.o string_32.o > +ifeq ($(CONFIG_X86_CMPXCHG64),n) > + lib-y += cmpxchg8b_emu.o > +endif > lib-$(CONFIG_X86_USE_3DNOW) += mmx_32.o > else > obj-y += io_64.o iomap_copy_64.o The way to check for a disabled option in a Make rule is: ifneq ($(CONFIG_X86_CMPXCHG64),y) As in the disabled case the config variable will be undefined. (and wont have a value of 'n'). I've done the fix below on your patch. Ingo Index: linux2/arch/x86/lib/Makefile =================================================================== --- linux2.orig/arch/x86/lib/Makefile +++ linux2/arch/x86/lib/Makefile @@ -16,7 +16,7 @@ ifeq ($(CONFIG_X86_32),y) lib-y += checksum_32.o lib-y += strstr_32.o lib-y += semaphore_32.o string_32.o -ifeq ($(CONFIG_X86_CMPXCHG64),n) +ifneq ($(CONFIG_X86_CMPXCHG64),y) lib-y += cmpxchg8b_emu.o endif lib-$(CONFIG_X86_USE_3DNOW) += mmx_32.o