From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Subject: Re: Word-at-a-time dcache name accesses (was Re: .. anybody know of any filesystems that depend on the exact VFS 'namehash' implementation?) Date: Sun, 4 Mar 2012 15:27:01 -0800 Message-ID: References: <20120303000203.GH22215@thunk.org> <20120304221915.GA19570@parisc-linux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: david@lang.hm, "Ted Ts'o" , Andi Kleen , "H. Peter Anvin" , Linux Kernel Mailing List , linux-fsdevel , Al Viro To: Matthew Wilcox Return-path: In-Reply-To: <20120304221915.GA19570@parisc-linux.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Sun, Mar 4, 2012 at 2:19 PM, Matthew Wilcox wrote: > > To be fair, that wasn't the ARM core. =A0That was the MEMC chip (roug= hly > equivalent to a northbridge). =A0Also, there's no need for Linux to c= are > about that any more, since we removed the arm26 port in July 2007. =A0= As far > as I know, all arm32 cores have been coupled with memory controllers > that are functional. No, it wasn't just the memory controller. The ARM cores really did some crazy stuff. Loading an unaligned pointer resulted in loading the value from the aligned pointer, and then doing a byte rotate on the result. And it did so silently without a trap. So you didn't get the right value, *and* you didn't even get a trap to tell you that the CPU couldn't do it. That's just pure garbage. You can call it a "feature", but sane people call it a bug. The fact that it was *designed* to do that doesn't make it less buggy, it just makes it sad. Now, the modern "bigger" ARM cores don't have that problem, but the small cores still do, afaik. Linus