From patchwork Mon Jun 11 16:36:13 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 164227 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 5FA541007D8 for ; Tue, 12 Jun 2012 02:36:21 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754108Ab2FKQgT (ORCPT ); Mon, 11 Jun 2012 12:36:19 -0400 Received: from mail-ey0-f174.google.com ([209.85.215.174]:60267 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753401Ab2FKQgS (ORCPT ); Mon, 11 Jun 2012 12:36:18 -0400 Received: by eaak11 with SMTP id k11so1894872eaa.19 for ; Mon, 11 Jun 2012 09:36:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:from:to:cc:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; bh=P+BZx6Yud8y6IJ4DNjKfyC7V2QV0uB4fXwUyUs6K9Js=; b=mbqYCaG3bHqeJsE7W2+rqs+UrtFQXjCDXweD9uYJVieAJIVVCuGajhz7atAPxvkn3Z FC7q39EQXyTOCQNVQtLXPVWqYi5MDpmwCY7CmV+CWpWZIcruv+RIa8faQ/q41h6JySzy 2ZjHwrjNB6KS/fiSL3jjQbKxoQO2cvti2bcyL7QtNphWP77PhgzQ6R1w14b4pGuWaQhP lWD59OUinoIQFJaKNB9Dtvw3WefWq5KEDI1k1o93wpx4xxyF6N17+xvCioKHAML23S0V bqQ47uaet8hTrrglHyIhrXDx8jrAZc/tMNbM+KGGifY5Q41o4W8Sk2GR9MkMWuZfEGop Mdqw== Received: by 10.14.119.199 with SMTP id n47mr5874337eeh.32.1339432576967; Mon, 11 Jun 2012 09:36:16 -0700 (PDT) Received: from [192.168.162.191] ([74.125.121.33]) by mx.google.com with ESMTPS id c51sm54513372eei.12.2012.06.11.09.36.14 (version=SSLv3 cipher=OTHER); Mon, 11 Jun 2012 09:36:15 -0700 (PDT) Subject: [PATCH net-next] net: keep name_hlist close to name From: Eric Dumazet To: David Miller Cc: netdev Date: Mon, 11 Jun 2012 18:36:13 +0200 Message-ID: <1339432573.6001.2429.camel@edumazet-glaptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Eric Dumazet __dev_get_by_name() is slow because pm_qos_req has been inserted between name[] and name_hlist, adding cache misses. pm_qos_req has nothing to do at the beginning of struct net_device Signed-off-by: Eric Dumazet --- include/linux/netdevice.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index d94cb14..a0b84e3 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1046,10 +1046,9 @@ struct net_device { */ char name[IFNAMSIZ]; - struct pm_qos_request pm_qos_req; - - /* device name hash chain */ + /* device name hash chain, please keep it close to name[] */ struct hlist_node name_hlist; + /* snmp alias */ char *ifalias; @@ -1322,6 +1321,8 @@ struct net_device { /* group the device belongs to */ int group; + + struct pm_qos_request pm_qos_req; }; #define to_net_dev(d) container_of(d, struct net_device, dev)