Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935727Ab1ETMHK (ORCPT ); Fri, 20 May 2011 08:07:10 -0400 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:44597 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935666Ab1ETMHI (ORCPT ); Fri, 20 May 2011 08:07:08 -0400 Subject: Re: [PATCH] x86: Remove 32-bit versions of readq()/writeq() From: James Bottomley To: Ingo Molnar Cc: Roland Dreier , Andrew Morton , linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, Benjamin Herrenschmidt , Milton Miller , Hitoshi Mitake , Kashyap Desai , Len Brown , Ravi Anand , Vikas Chaudhary , Matthew Garrett In-Reply-To: <20110520114454.GD14745@elte.hu> References: <20110519181500.GF6139@elte.hu> <1305849293-25437-1-git-send-email-roland@kernel.org> <20110520114454.GD14745@elte.hu> Content-Type: text/plain; charset="UTF-8" Date: Fri, 20 May 2011 16:03:09 +0400 Message-ID: <1305892989.2571.17.camel@mulgrave.site> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2681 Lines: 64 On Fri, 2011-05-20 at 13:44 +0200, Ingo Molnar wrote: > * Roland Dreier wrote: > > > From: Roland Dreier > > > > The presense of a writeq() implementation on 32-bit x86 that splits > > the 64-bit write into two 32-bit writes turns out to break the mpt2sas > > driver (and in general is risky for drivers as was discussed in > > ). To fix this, > > revert 2c5643b1c5c7 ("x86: provide readq()/writeq() on 32-bit too") > > and follow-on cleanups. > > > > This unfortunately leads to pushing non-atomic definitions of readq() > > and write() to various x86-only drivers that in the mean time started > > using the definitions in the x86 version of . However as > > discussed exhaustively, this is actually the right thing to do, > > because the right way to split a 64-bit transaction is hardware > > dependent and therefore belongs in the hardware driver (eg mpt2sas > > needs a spinlock to make sure no other accesses occur in between the > > two halves of the access). > > > > Build tested on 32- and 64-bit x86 allmodconfig. > > > > Link: http://lkml.kernel.org/r/x86-32-writeq-is-broken@mdm.bga.com > > Cc: Hitoshi Mitake > > Cc: Kashyap Desai > > Cc: Len Brown > > Cc: Ravi Anand > > Cc: Vikas Chaudhary > > Cc: Matthew Garrett > > Signed-off-by: Roland Dreier > > --- > > arch/x86/Kconfig | 2 -- > > arch/x86/include/asm/io.h | 24 ++---------------------- > > drivers/acpi/apei/einj.c | 8 ++++++++ > > drivers/acpi/atomicio.c | 4 ++++ > > drivers/edac/i3200_edac.c | 13 +++++++++++++ > > drivers/platform/x86/ibm_rtl.c | 13 +++++++++++++ > > drivers/platform/x86/intel_ips.c | 13 +++++++++++++ > > drivers/scsi/qla4xxx/ql4_nx.c | 21 +++++++++++++++++++++ > > 8 files changed, 74 insertions(+), 24 deletions(-) > > Hm, this patch is wider than i thought - might be better to do this via one of > the driver trees or -mm? We don't have a single driver tree covering all of those, so I think the x86 tree is as good as any other > The x86 bits are: > > Acked-by: Ingo Molnar For the SCSI bits: Acked-by: James Bottomley James -- 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/