From patchwork Thu Feb 4 11:26:01 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Torek X-Patchwork-Id: 44465 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 8C530B7D48 for ; Thu, 4 Feb 2010 22:26:15 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756569Ab0BDL0N (ORCPT ); Thu, 4 Feb 2010 06:26:13 -0500 Received: from mail.windriver.com ([147.11.1.11]:44504 "EHLO mail.windriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756732Ab0BDL0I (ORCPT ); Thu, 4 Feb 2010 06:26:08 -0500 Received: from ALA-MAIL03.corp.ad.wrs.com (ala-mail03 [147.11.57.144]) by mail.windriver.com (8.14.3/8.14.3) with ESMTP id o14BQ7td002816; Thu, 4 Feb 2010 03:26:07 -0800 (PST) Received: from ala-mail06.corp.ad.wrs.com ([147.11.57.147]) by ALA-MAIL03.corp.ad.wrs.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 4 Feb 2010 03:26:07 -0800 Received: from localhost.localdomain ([172.25.39.238]) by ala-mail06.corp.ad.wrs.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 4 Feb 2010 03:26:07 -0800 From: Chris Torek To: sparclinux@vger.kernel.org Cc: chris.torek@gmail.com Subject: [PATCH 7/8] niu: reserve interrupt-service CPU Date: Thu, 4 Feb 2010 04:26:01 -0700 Message-Id: X-Mailer: git-send-email 1.6.0.4.766.g6fc4a In-Reply-To: <6babb06d2d37fc1ea764d37b86c5a589f387201c.1265231569.git.chris.torek@windriver.com> References: <1265282762-13954-1-git-send-email-chris.torek@windriver.com> <14d7f5a63a7026b4413d4b4efa4ce6ddea0e055b.1265231568.git.chris.torek@windriver.com> <9a55d2f53e2c1d5bbc8864ef7a0fb46d84317f48.1265231568.git.chris.torek@windriver.com> <73c852f8f8035f5a432fba64e58b39737e2adde5.1265231569.git.chris.torek@windriver.com> <59e1f00f42c92d3dafeef5d713bf0b11149f065d.1265231569.git.chris.torek@windriver.com> <6babb06d2d37fc1ea764d37b86c5a589f387201c.1265231569.git.chris.torek@windriver.com> In-Reply-To: References: X-OriginalArrivalTime: 04 Feb 2010 11:26:07.0314 (UTC) FILETIME=[D81B1B20:01CAA58C] Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org From: Hong H. Pham Register the CPU used for interrupt handling with the network device layer so that other work can be distributed evenly and optimally across the remaining CPUs. Signed-off-by: Hong H. Pham Signed-off-by: Chris Torek --- drivers/net/niu.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/net/niu.c b/drivers/net/niu.c index cfb43a4..c82e970 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c @@ -6143,6 +6143,7 @@ static int niu_request_irq(struct niu *np) for (i = 0; i < np->num_ldg; i++) { struct niu_ldg *lp = &np->ldg[i]; + netdev_reserve_cpu(netdev_map_to_cpu(lp->irq)); err = request_irq(lp->irq, niu_interrupt, IRQF_SHARED | IRQF_SAMPLE_RANDOM, np->irq_name[i], lp); @@ -6158,6 +6159,7 @@ out_free_irqs: struct niu_ldg *lp = &np->ldg[j]; free_irq(lp->irq, lp); + netdev_release_cpu(netdev_map_to_cpu(lp->irq)); } return err; } @@ -6170,6 +6172,7 @@ static void niu_free_irq(struct niu *np) struct niu_ldg *lp = &np->ldg[i]; free_irq(lp->irq, lp); + netdev_release_cpu(netdev_map_to_cpu(lp->irq)); } }