[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1284760148.30449.107.camel@pasglop>
Date: Sat, 18 Sep 2010 07:49:08 +1000
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: James Bottomley <James.Bottomley@...senPartnership.com>,
paulmck@...ux.vnet.ibm.com, dhowells@...hat.com,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Subject: Re: memory barrier question
> Right but in the concrete namei example I can't see how a compiler
> optimization can make a difference. The order of the loads is quite
> clear:
>
> LOAD inode = next.dentry->inode
> if (inode != NULL)
> LOAD inode->f_op
>
> What is there the compiler can optimize?
Those two loads depend on each other, I don't think any implementation
can re-order them. In fact, such data dependency is typically what is
used to avoid having barriers in some cases. The second load cannot be
issued until the value from the first one is returned.
Cheers,
Ben.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists