From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757025AbXIENOS (ORCPT ); Wed, 5 Sep 2007 09:14:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755696AbXIENOF (ORCPT ); Wed, 5 Sep 2007 09:14:05 -0400 Received: from tomts20-srv.bellnexxia.net ([209.226.175.74]:55695 "EHLO tomts20-srv.bellnexxia.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756185AbXIENOE (ORCPT ); Wed, 5 Sep 2007 09:14:04 -0400 Date: Wed, 5 Sep 2007 09:03:44 -0400 From: Mathieu Desnoyers To: Christoph Lameter Cc: Peter Zijlstra , akpm@linux-foundation.org, linux-kernel@vger.kernel.org, mingo@redhat.com, linux-ia64@vger.kernel.org Subject: Re: [PATCH] slub - Use local_t protection Message-ID: <20070905130344.GA11880@Krystal> References: <20070827203913.GA7416@Krystal> <20070827211003.GA10627@Krystal> <20070827213845.GB9748@Krystal> <20070827222715.GA16982@Krystal> <20070904200429.GD8157@Krystal> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: X-Editor: vi X-Info: http://krystal.dyndns.org:8080 X-Operating-System: Linux/2.6.21.3-grsec (i686) X-Uptime: 09:02:17 up 37 days, 13:21, 4 users, load average: 0.89, 0.63, 0.50 User-Agent: Mutt/1.5.13 (2006-08-11) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org * Christoph Lameter (clameter@sgi.com) wrote: > On Tue, 4 Sep 2007, Mathieu Desnoyers wrote: > > > @@ -1566,12 +1565,13 @@ redo: > > object[c->offset]) != object)) > > goto redo; > > > > - put_cpu(); > > + local_exit(flags); > > if (unlikely((gfpflags & __GFP_ZERO))) > > memset(object, 0, c->objsize); > > > > return object; > > slow: > > + local_exit(flags); > > Here we can be rescheduled to another processors. > > > return __slab_alloc(s, gfpflags, node, addr, c) > > c may point to the wrong processor. Good point. the current CPU is not updated at the beginning of the slow path. I'll post the updated patchset. Comments are welcome, especially about the naming scheme which is currently awkward. Mathieu -- Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68