Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756038AbYFYXhk (ORCPT ); Wed, 25 Jun 2008 19:37:40 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752707AbYFYXh3 (ORCPT ); Wed, 25 Jun 2008 19:37:29 -0400 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:40118 "EHLO sunset.davemloft.net" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751680AbYFYXh2 (ORCPT ); Wed, 25 Jun 2008 19:37:28 -0400 Date: Wed, 25 Jun 2008 16:37:28 -0700 (PDT) Message-Id: <20080625.163728.59919248.davem@davemloft.net> To: peter.p.waskiewicz.jr@intel.com Cc: jeffrey.t.kirsher@intel.com, jeff@garzik.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] net: Add the CPU id to skb->queue_mapping's upper 8 bits From: David Miller In-Reply-To: References: <20080624232545.11654.65805.stgit@localhost.localdomain> <20080624.163742.224488012.davem@davemloft.net> X-Mailer: Mew version 5.2 on Emacs 22.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2004 Lines: 50 From: "Waskiewicz Jr, Peter P" Date: Wed, 25 Jun 2008 11:31:01 -0700 > >Well: > > > >1) All of this multiqueue stuff is going away with my changes in > > net-tx-2.6 > > Do you have a guestimate of which kernel you'll be targeting these > changes? I'm very interested in this schedule. I want it to hit 2.6.27 > The whole point is to identify the flow and redirect your Rx filtering > to the CPU it came from. So if you did this properly, the ACKs would be > landing on the CPU that originally opened the TCP flow. I don't follow > why the scheduler would move the process if the Rx traffic is returning > to that core. The process scheduler monitors where wakeup events occur. If predominantly they arrive on a difference cpu from where the process is currently scheduled, the scheduler might decide to move the process there. This RX retargetting idea is also flawed from another perspective. Let's say you have a server thread polling on a lot of connections. And let's say that all of these connections become extremely active all of a sudden. If you RX steer all of those flows to the same cpu we might as well not do any RX hashing at all. The whole point is to distribute the network stack input processing across the machine as much as possible. If you try to steer RX traffic to cpus that processes are running on, you will undo almost all of the intended benefit of RX hashing in many common scnenerios. Don't second guess the process scheduler we have, it will or should do the right thing in these situations because it can see what is going on in ways that the NIC and the networking alone simply cannot. It knows about cache effects and tradeoffs of moving tasks between cores and NUMA nodes. -- 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/