Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762720AbXH0VES (ORCPT ); Mon, 27 Aug 2007 17:04:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1760205AbXH0VEJ (ORCPT ); Mon, 27 Aug 2007 17:04:09 -0400 Received: from netops-testserver-4-out.sgi.com ([192.48.171.29]:41143 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1758956AbXH0VEI (ORCPT ); Mon, 27 Aug 2007 17:04:08 -0400 Date: Mon, 27 Aug 2007 14:04:07 -0700 (PDT) From: Christoph Lameter X-X-Sender: clameter@schroedinger.engr.sgi.com To: Mathieu Desnoyers cc: Peter Zijlstra , akpm@linux-foundation.org, linux-kernel@vger.kernel.org, mingo@redhat.com Subject: Re: [PATCH] SLUB use cmpxchg_local In-Reply-To: <20070827203913.GA7416@Krystal> Message-ID: References: <20070820212922.GA27011@Krystal> <20070820215413.GA28452@Krystal> <20070821173849.GA8360@Krystal> <1188197539.6114.426.camel@twins> <20070827202203.GB5653@Krystal> <20070827203913.GA7416@Krystal> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 978 Lines: 25 I think the simplest solution may be to leave slub as done in the patch that we developed last week. The arch must provide a cmpxchg_local that is performance wise the fastest possible. On x86 this is going to be the cmpxchg_local on others where cmpxchg is slower than interrupt disable/enable this is going to be the emulation that does interrupt disable cmpchg simulation interrupt enable If we can establish that this is not a performance regression then we have a clean solution source code wise. It also minimizes the interrupt holdoff for the non-cmpxchg_local arches. However, it means that we will have to disable interrupts twice for the slow path. If that is too expensive then we need a different solution. - 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/