From patchwork Wed Dec 10 19:40:41 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Detsch X-Patchwork-Id: 13308 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 1FDF0DDF7F for ; Thu, 11 Dec 2008 06:42:20 +1100 (EST) X-Original-To: cbe-oss-dev@ozlabs.org Delivered-To: cbe-oss-dev@ozlabs.org Received: from igw2.br.ibm.com (igw2.br.ibm.com [32.104.18.25]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "igw2.br.ibm.com", Issuer "Equifax" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id C4E03DDF47 for ; Thu, 11 Dec 2008 06:40:46 +1100 (EST) Received: from d24relay01.br.ibm.com (unknown [9.8.31.16]) by igw2.br.ibm.com (Postfix) with ESMTP id BC40A17F63A for ; Wed, 10 Dec 2008 16:23:52 -0200 (BRDT) Received: from d24av02.br.ibm.com (d24av02.br.ibm.com [9.18.232.47]) by d24relay01.br.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id mBAKeGW73502278 for ; Wed, 10 Dec 2008 17:40:16 -0300 Received: from d24av02.br.ibm.com (loopback [127.0.0.1]) by d24av02.br.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id mBAJegbK023736 for ; Wed, 10 Dec 2008 17:40:42 -0200 Received: from [9.8.13.23] ([9.8.13.23]) by d24av02.br.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id mBAJefeI023726 for ; Wed, 10 Dec 2008 17:40:42 -0200 From: Andre Detsch To: cbe-oss-dev@ozlabs.org Date: Wed, 10 Dec 2008 17:40:41 -0200 User-Agent: KMail/1.9.6 References: <200812101719.42964.adetsch@br.ibm.com> In-Reply-To: <200812101719.42964.adetsch@br.ibm.com> MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200812101740.42017.adetsch@br.ibm.com> Subject: [Cbe-oss-dev] [PATCH 18/18] powerpc/spufs: Hold list_mutex while performing a context unbind X-BeenThere: cbe-oss-dev@ozlabs.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Discussion about Open Source Software for the Cell Broadband Engine List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cbe-oss-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org Errors-To: cbe-oss-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org Also, add a related BUG_ON. Signed-off-by: Andre Detsch --- arch/powerpc/platforms/cell/spufs/sched.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c index 3163239..ce110ad 100644 --- a/arch/powerpc/platforms/cell/spufs/sched.c +++ b/arch/powerpc/platforms/cell/spufs/sched.c @@ -566,8 +566,8 @@ static void spu_unschedule(struct spu_gang *gang) BUG_ON(spu->gang != gang); BUG_ON(spu->alloc_state != SPU_USED); node = spu->node; - spu_unbind_context(spu, ctx); mutex_lock(&cbe_spu_info[node].list_mutex); + spu_unbind_context(spu, ctx); cbe_spu_info[node].nr_active--; spu->alloc_state = SPU_FREE; spu->ctx = NULL; @@ -1289,6 +1289,7 @@ static int spusched_thread(void *unused) gang = spu->gang; BUG_ON(!gang); ctx = spu->ctx; + BUG_ON(!ctx); get_spu_context(ctx); mutex_unlock(mtx); preempted += spusched_tick(gang, ctx,