Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-19 Thread Ingo Molnar
* Benjamin Herrenschmidt wrote: > On Wed, 2011-05-18 at 21:16 -0700, Roland Dreier wrote: > > On Wed, May 18, 2011 at 11:31 AM, Milton Miller wrote: > > > So the real question should be why is x86-32 supplying a broken writeq > > > instead of letting drivers work out what to do it when needed?

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Benjamin Herrenschmidt
On Thu, 2011-05-19 at 08:46 +0400, James Bottomley wrote: > This can't really be done generically. There are several considerations > to do with hardware requirements. I can see some hw requiring a > specific write order (I think this applies more to read order, though). Right. Or there can be a

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Benjamin Herrenschmidt
On Wed, 2011-05-18 at 21:16 -0700, Roland Dreier wrote: > On Wed, May 18, 2011 at 11:31 AM, Milton Miller wrote: > > So the real question should be why is x86-32 supplying a broken writeq > > instead of letting drivers work out what to do it when needed? > > Sounds a lot like what I was asking a

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread James Bottomley
On Thu, 2011-05-19 at 13:08 +0900, Hitoshi Mitake wrote: > On Thu, May 19, 2011 at 04:11, Moore, Eric wrote: > > On Wednesday, May 18, 2011 12:31 PM Milton Miller wrote: > >> Ingo I would propose the following commits added in 2.6.29 be reverted. > >> I think the current concensus is drivers must

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Roland Dreier
On Wed, May 18, 2011 at 11:31 AM, Milton Miller wrote: > So the real question should be why is x86-32 supplying a broken writeq > instead of letting drivers work out what to do it when needed? Sounds a lot like what I was asking a couple of years ago :) http://lkml.org/lkml/2009/4/19/164 But Ing

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Hitoshi Mitake
On Thu, May 19, 2011 at 04:11, Moore, Eric wrote: > On Wednesday, May 18, 2011 12:31 PM Milton Miller wrote: >> Ingo I would propose the following commits added in 2.6.29 be reverted. >> I think the current concensus is drivers must know if the writeq is >> not atomic so they can provide their own

RE: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Moore, Eric
On Wednesday, May 18, 2011 3:30 PM, Benjamin Herrenschmidt wrote: > > You may also want to look at Milton's comments, it looks like the way > you do init_completion followed immediately by wait_completion is racy. > > You should init the completion before you do the IO that will eventually > trig

RE: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Benjamin Herrenschmidt
On Wed, 2011-05-18 at 09:35 -0600, Moore, Eric wrote: > I worked the original defect a couple months ago, and Kashyap is now > getting around to posting my patch's. > > This original defect has nothing to do with PPC64. The original > problem was only on x86.It only became a problem on PPC64

RE: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Moore, Eric
On Wednesday, May 18, 2011 12:31 PM Milton Miller wrote: > Ingo I would propose the following commits added in 2.6.29 be reverted. > I think the current concensus is drivers must know if the writeq is > not atomic so they can provide their own locking or other workaround. > Exactly.

RE: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Milton Miller
On Wed, 18 May 2011 about 09:35:56 -0600, Eric Moore wrote: > On Wednesday, May 18, 2011 2:24 AM, Milton Miller wrote: > > On Wed, 18 May 2011 around 17:00:10 +1000, Benjamin Herrenschmidt wrote: > > > (Just adding Milton to the CC list, he suspects races in the > > > driver instead). > > > > > > O

RE: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Moore, Eric
On Wednesday, May 18, 2011 2:24 AM, Milton Miller wrote: > On Wed, 18 May 2011 around 17:00:10 +1000, Benjamin Herrenschmidt wrote: > > (Just adding Milton to the CC list, he suspects races in the > > driver instead). > > > > On Wed, 2011-05-18 at 08:23 +0400, James Bottomley wrote: > > > On Tue, 2

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Milton Miller
On Wed, 18 May 2011 around 17:00:10 +1000, Benjamin Herrenschmidt wrote: > (Just adding Milton to the CC list, he suspects races in the > driver instead). > > On Wed, 2011-05-18 at 08:23 +0400, James Bottomley wrote: > > On Tue, 2011-05-17 at 22:15 -0600, Matthew Wilcox wrote: > > > On Wed, May 18,

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-18 Thread Benjamin Herrenschmidt
(Just adding Milton to the CC list, he suspects races in the driver instead). On Wed, 2011-05-18 at 08:23 +0400, James Bottomley wrote: > On Tue, 2011-05-17 at 22:15 -0600, Matthew Wilcox wrote: > > On Wed, May 18, 2011 at 09:37:08AM +0530, Desai, Kashyap wrote: > > > On Wed, 2011-05-04 at 17:23 +

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-17 Thread Benjamin Herrenschmidt
> > > Cc: sta...@kernle.org > > > Signed-off-by: Kashyap Desai > > > --- > > > diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c > > > b/drivers/scsi/mpt2sas/mpt2sas_base.c > > > index efa0255..5778334 100644 > > > --- a/drivers/scsi/mpt2sas/mpt2sas_base.c > > > +++ b/drivers/scsi/mpt2sas/mpt2sas

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-17 Thread Matthew Wilcox
On Wed, May 18, 2011 at 09:37:08AM +0530, Desai, Kashyap wrote: > On Wed, 2011-05-04 at 17:23 +0530, Kashyap, Desai wrote: > > The following code seems to be there in > > /usr/src/linux/arch/x86/include/asm/io.h. > > This is not going to work. > > > > static inline void writeq(__u64 val, volatile

Re: [PATCH 1/3] mpt2sas: remove the use of writeq, since writeq is not atomic

2011-05-17 Thread James Bottomley
On Tue, 2011-05-17 at 22:15 -0600, Matthew Wilcox wrote: > On Wed, May 18, 2011 at 09:37:08AM +0530, Desai, Kashyap wrote: > > On Wed, 2011-05-04 at 17:23 +0530, Kashyap, Desai wrote: > > > The following code seems to be there in > > > /usr/src/linux/arch/x86/include/asm/io.h. > > > This is not go