From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: [PATCH RFC 0/2] Convert GRO receive over to hash table. Date: Sun, 24 Jun 2018 14:13:37 +0900 (KST) Message-ID: <20180624.141337.912478766766100321.davem@davemloft.net> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: edumazet@google.com To: netdev@vger.kernel.org Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:57102 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750780AbeFXFNn (ORCPT ); Sun, 24 Jun 2018 01:13:43 -0400 Sender: netdev-owner@vger.kernel.org List-ID: When many parallel flows are present and being received on the same RX queue, GRO processing can become expensive because each incoming frame must traverse the per-NAPI GRO list at each protocol layer of GRO receive (eth --> ipv{4,6} --> tcp). Use the already computed hash to chain these SKBs in a hash table instead of a simple list. The first patch makes the GRO list a true list_head. The second patch implements the hash table. This series patches basic testing and I added some diagnostics to make sure we really were aggregating GRO frames :-) Signed-off-by: David S. Miller