[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFxDYr6Abs+czfJK0z=wSiznS1=bHw4AVb0VN+NrB6pK7g@mail.gmail.com>
Date: Fri, 26 Feb 2016 21:25:33 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Alexander Duyck <alexander.duyck@...il.com>
Cc: Tom Herbert <tom@...bertland.com>,
David Miller <davem@...emloft.net>,
Netdev <netdev@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Peter Anvin <hpa@...or.com>,
"the arch/x86 maintainers" <x86@...nel.org>,
Kernel Team <kernel-team@...com>
Subject: Re: [PATCH v4 net-next] net: Implement fast csum_partial for x86_64
On Fri, Feb 26, 2016 at 2:52 PM, Alexander Duyck
<alexander.duyck@...il.com> wrote:
>
> I'm still not a fan of the unaligned reads. They may be okay but it
> just seems like we are going run into corner cases all over the place
> where this ends up biting us.
No.
Unaligned reads are not just "ok".
The fact is, not doing unaligned reads is just stupid.
Guys, the RISC people tried the whole "only do aligned crap". It was a
mistake. It's stupid. It's wrong.
Every single successful remaining RISC architecture learnt from their
mistakes. That should tell you something.
It should tell you that the people who tried to teach you that
unaligned reads were bad were charlatans.
It's *much* better to do unaligned reads in software and let hardware
sort it out than to try to actively avoid them.
On x86, unaligned reads have never even been expensive (except back in
the dark days when people started doing vector extensions and got them
wrong - those people learnt their lesson too).
And on other architectures, that historically got this wrong (ARM got
it *really* wrong originally), sanity eventually prevailed. So there
isn't a single relevant architecture left where it would make sense to
do extra work in order to only do aligned reads.
The whole "unaligned reads are bad" ship sailed long ago, and it sank.
Let is be.
Linus
Powered by blists - more mailing lists