Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754398AbZI3QO5 (ORCPT ); Wed, 30 Sep 2009 12:14:57 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752730AbZI3QO4 (ORCPT ); Wed, 30 Sep 2009 12:14:56 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:51006 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751961AbZI3QOy (ORCPT ); Wed, 30 Sep 2009 12:14:54 -0400 Date: Wed, 30 Sep 2009 09:14:02 -0700 (PDT) From: Linus Torvalds X-X-Sender: torvalds@localhost.localdomain To: Eric Dumazet cc: Arjan van de Ven , Martin Schwidefsky , Thomas Gleixner , John Stultz , Linux Kernel Mailing List , Peter Zijlstra , Ingo Molnar Subject: Re: Linux 2.6.32-rc1 In-Reply-To: <4AC37FE5.7020200@gmail.com> Message-ID: References: <4AC060AE.1090401@gmail.com> <20090928191506.40b61793@mschwide.boeblingen.de.ibm.com> <4AC10365.7090802@gmail.com> <4AC2712C.4080901@gmail.com> <20090929232248.735bf4df@infradead.org> <20090930170754.0886ff2e@infradead.org> <4AC37FE5.7020200@gmail.com> User-Agent: Alpine 2.01 (LFD 1184 2008-12-16) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1415 Lines: 34 On Wed, 30 Sep 2009, Eric Dumazet wrote: > > lock; cmpxchg8b (%%esi) > > gives 4 bytes opcode : f0 0f c7 0e > Because alternative (call cmpxchg8b_emu) uses 5 bytes, a nop will be added. > > Choosing ".byte 0xf0, 0x0f, 0xc7, 0x4e, 0x00" aka "lock cmpxchg8b 0x0(%esi)" is a litle bit better ? And if you want to be really clever, you would want to handle the non-SMP case too, where you have just "cmpxchgb (%%esi)" (three bytes) without the lock prefix. However, at this point I think Arjan's patch is already way superior to what we have now (feel free to take a look at what we generate on 32-bit without PAE today - just have a barf-bag handy), so all I'd really want is a few "tested-by"s to make me feel happier about it, and a few more people looking at the emulation routine to all say "ok, looks sane, ACK". And at that point we can then either make "cmpxchg()" just do the 8-byte case natively, or just take your patch to change sched_clock.c to now use the no-longer-entirely-disgusting cmpxchg64(). Ingo - I suspect both those patches should just go through you. You do both x86 and scheduler, so I'll happily pull the end result. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/