Return-Path: Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.171]) by ozlabs.org (Postfix) with ESMTP id C465EDDDE7 for ; Fri, 7 Dec 2007 20:58:54 +1100 (EST) From: Arnd Bergmann To: linuxppc-dev@ozlabs.org Subject: Re: [PATCH] IB/ehca: Serialize HCA-related hCalls on POWER5 Date: Fri, 7 Dec 2007 10:58:37 +0100 References: <200712061607.20004.fenkes@de.ibm.com> <200712061648.24806.arnd@arndb.de> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Message-Id: <200712071058.38416.arnd@arndb.de> Cc: Roland Dreier , Joachim Fenkes , LKML , OF-EWG , Christoph Raisch , Marcus Eder , OF-General , Stefan Roscher List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Thursday 06 December 2007, Roland Dreier wrote: > =A0> Regarding the performance problem, have you checked whether converti= ng all > =A0> your spin_lock_irqsave to spin_lock/spin_lock_irq improves your perf= ormance > =A0> on the older machines? Maybe it's already fast enough that way. >=20 > It does seem that the only places that the hcall_lock is taken also > use msleep, so they must always be in process context. =A0So you can > safely just use spin_lock(), right? I think it needs some more inspection. The msleep in there is only called for hcalls that return H_IS_LONG_BUSY(). In theory, you can call ehca_plpar_hcall_norets() from inside an interrupt handler if the hcall in question never returns long busy. Arnd <><