[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFwCchGnXPsQEQLrdp1CBphwardJpVF57thjzDddvGxHUQ@mail.gmail.com>
Date: Sun, 4 Mar 2012 15:27:01 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Matthew Wilcox <matthew@....cx>
Cc: david@...g.hm, "Ted Ts'o" <tytso@....edu>,
Andi Kleen <andi@...stfloor.org>,
"H. Peter Anvin" <hpa@...or.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Al Viro <viro@...iv.linux.org.uk>
Subject: Re: Word-at-a-time dcache name accesses (was Re: .. anybody know of
any filesystems that depend on the exact VFS 'namehash' implementation?)
On Sun, Mar 4, 2012 at 2:19 PM, Matthew Wilcox <matthew@....cx> wrote:
>
> To be fair, that wasn't the ARM core. That was the MEMC chip (roughly
> equivalent to a northbridge). Also, there's no need for Linux to care
> about that any more, since we removed the arm26 port in July 2007. 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
--
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