From owner-svn-src-all@FreeBSD.ORG Fri Nov 1 04:58:18 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 57BAC238; Fri, 1 Nov 2013 04:58:18 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qc0-x234.google.com (mail-qc0-x234.google.com [IPv6:2607:f8b0:400d:c01::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C6B422C1F; Fri, 1 Nov 2013 04:58:17 +0000 (UTC) Received: by mail-qc0-f180.google.com with SMTP id e9so2226134qcy.39 for ; Thu, 31 Oct 2013 21:58:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=6CUCdOmSM9+3Zs8PaFwRCt6jSD8CKVOH1Zo73sx4+gw=; b=BIFzAkCa28Qqtj0zFO7AFLk/87KlnlmK7f8sW9fHoMbdeVI8vzmLtigTHCPmuwBEns ku1iJGL7Ki9wrz1qFSIhTq71O8cjVqx+HOjm1/lzt0LpnOl3o3o/jW71mTS8XFoBbpsC CP2zkaMxN3BVxmr9HZovY0plKPobLE+tUjv28wfVIUchOioooQASOIwzMxSVnTjbni42 lyfl/4GsNeN4J/jsDsNudeVBBxwU51WD6GjbwFov5JznOBw7lyV6RkHzFSFx2gdFAIAw ftMuH5EoZBI4vdAgAeMfBcoib0GTMapPDY8FGGQIZAQ+Cimsyu6BkxesxufntyFuYntZ 9oEw== MIME-Version: 1.0 X-Received: by 10.224.129.74 with SMTP id n10mr1458699qas.92.1383281897034; Thu, 31 Oct 2013 21:58:17 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.207.66 with HTTP; Thu, 31 Oct 2013 21:58:16 -0700 (PDT) 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> Date: Thu, 31 Oct 2013 21:58:16 -0700 X-Google-Sender-Auth: cgNctpOTWTeF1e5T5lhFyhf_rJ4 Message-ID: Subject: Re: svn commit: r257455 - head/sys/net From: Adrian Chadd To: John-Mark Gurney Content-Type: text/plain; charset=ISO-8859-1 Cc: "src-committers@freebsd.org" , Andre Oppermann , Ian Lepore , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" , Luigi Rizzo X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Nov 2013 04:58:18 -0000 On 31 October 2013 20:22, John-Mark Gurney 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