Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752292AbbKKOf0 (ORCPT ); Wed, 11 Nov 2015 09:35:26 -0500 Received: from unicorn.mansr.com ([81.2.72.234]:44404 "EHLO unicorn.mansr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750818AbbKKOfY convert rfc822-to-8bit (ORCPT ); Wed, 11 Nov 2015 09:35:24 -0500 From: =?iso-8859-1?Q?M=E5ns_Rullg=E5rd?= To: Eric Dumazet Cc: David Miller , romieu@fr.zoreil.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, slash.tmp@free.fr Subject: Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller References: <1447172063-27234-1-git-send-email-mans@mansr.com> <20151110233448.GA8646@electric-eye.fr.zoreil.com> <20151110.211121.422193831316296487.davem@davemloft.net> <1447248595.17135.98.camel@edumazet-glaptop2.roam.corp.google.com> <1447250961.17135.104.camel@edumazet-glaptop2.roam.corp.google.com> Date: Wed, 11 Nov 2015 14:35:21 +0000 In-Reply-To: (=?iso-8859-1?Q?=22M=E5n?= =?iso-8859-1?Q?s_Rullg=E5rd=22's?= message of "Wed, 11 Nov 2015 14:15:31 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1518 Lines: 41 M?ns Rullg?rd writes: > Eric Dumazet writes: > >> On Wed, 2015-11-11 at 13:48 +0000, M?ns Rullg?rd wrote: >>> Eric Dumazet writes: >>> >>> > On Wed, 2015-11-11 at 13:04 +0000, M?ns Rullg?rd wrote: >>> > >>> >> I tried that, and throughput (as measured by iperf3) dropped by 2%. >>> >> Maybe I did something wrong. >>> > >>> > What link speed have you used, what was the throughput you got, >>> > and is the receiver using the same NIC ? >>> >>> 1Gbps link, 640 Mbps TCP transmit throughput to a PC with Intel NIC. >>> Why does it matter what NIC the receiver has? >> >> Because at 1Gb line rate, you better get GRO properly implemented in the >> receiver, so that TCP stack does not send one ACK every 2 MSS. >> >> Send speed is also dependent on the number of ACK packets the sender has >> to process. >> >> This is why I suggested you use napi_gro_receive() in your driver. > > FWIW, with UDP I get 650 Mbps. It seems the on-chip interconnect is limiting memory bandwidth available to the Ethernet DMA. If I increase the limits, I get 800 Mbps over TCP and 850 Mbps over UDP with the driver posted here, the TCP case being CPU bound in csum_partial_copy_from_user. -- M?ns Rullg?rd mans@mansr.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/