Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Oct 2013 21:58:16 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        John-Mark Gurney <jmg@funkthat.com>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>, Andre Oppermann <andre@freebsd.org>, Ian Lepore <ian@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>
Subject:   Re: svn commit: r257455 - head/sys/net
Message-ID:  <CAJ-Vmok65ZZu9P_KJhQg2XjoOeiYQX2oE16PD6KfNquUZqm6%2Bg@mail.gmail.com>
In-Reply-To: <20131101032242.GI58155@funkthat.com>
References:  <201310311546.r9VFkAIb049844@svn.freebsd.org> <20131031180336.GA62132@onelab2.iet.unipi.it> <5272AAC4.4030700@freebsd.org> <1383247645.31172.29.camel@revolution.hippie.lan> <5272D6E0.8050709@freebsd.org> <1383258763.31172.46.camel@revolution.hippie.lan> <5272DCA4.8040209@freebsd.org> <20131101032242.GI58155@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 31 October 2013 20:22, John-Mark Gurney <jmg@funkthat.com> wrote:
> Andre Oppermann wrote this message on Thu, Oct 31, 2013 at 23:41 +0100:
>> >I know of only one modern ARM SoC that's able to DMA network packets on
>> >a 2-byte boundary (actually even it requires a 4-byte boundary, but it's
>> >willing to stuff the first 16 bits with zeroes and offset everything
>> >that follows accordingly).  I'm sure there are others, but it's the
>> >exception rather than the rule.
>>
>> Talk about foot shooting.  I'm afraid that packet copying may still be
>> the least evil option in the grand scheme of things.  IIRC ARM64 will
>> be able to do misaligned accesses with only a small performance penalty,
>> like x86/AMD64.
>
> LOL.
>
> Really?  You really want to say that it's fine for embeded systems to
> loose around half their network performance because we can't make this
> change?  Because we can't be bothered to handle the code the correct
> way?

We can talk about this some more down the road.

There's .. more complicated crap going on here. Mostly due to pulling
parts of packets apart and gluing them back together in weird and odd
ways. All that encapsulation, decapsulation and re-encapsulation going
on means that we won't really be able to always correctly align things
in the "best" way for these embedded platforms.

So, let's table that as a requirement and start drafting up ways to
try and address this. Sneaking in some stack hack to try and make it
work for one particular specific code path is not (entirely) enough :)


-a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmok65ZZu9P_KJhQg2XjoOeiYQX2oE16PD6KfNquUZqm6%2Bg>