From patchwork Tue Jun 9 09:44:41 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Allen Hubbe X-Patchwork-Id: 482266 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E7EAC140497 for ; Wed, 10 Jun 2015 00:48:03 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=emc.com header.i=@emc.com header.b=GmoPStWk; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932628AbbFIOrs (ORCPT ); Tue, 9 Jun 2015 10:47:48 -0400 Received: from mailuogwdur.emc.com ([128.221.224.79]:49530 "EHLO mailuogwdur.emc.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932239AbbFIOrh (ORCPT ); Tue, 9 Jun 2015 10:47:37 -0400 Received: from maildlpprd51.lss.emc.com (maildlpprd51.lss.emc.com [10.106.48.155]) by mailuogwprd53.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id t59EjWRa017214 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 9 Jun 2015 10:45:34 -0400 X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd53.lss.emc.com t59EjWRa017214 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1433861134; bh=4fxEMXrWeFvw6cXrNrvyArOz0qk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: In-Reply-To:References; b=GmoPStWk+V6kSJfFqnZuGxE545TykKTSguk5dX96U8SPF+jx897O1PUVCNH5IMkMl pATp5701T20Ohnz1Tq3LaTsSsVhSjouRMdLBBz+q3TKiBnEg/+aM8+JOn1mmp37NT8 UKWZEL5DjLcEEBRq7KNNMWniiZHMFvuCV4oheAxQ= X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd53.lss.emc.com t59EjWRa017214 Received: from mailapphubprd04.lss.emc.com (emcmail.lss.emc.com [10.253.24.71]) by maildlpprd51.lss.emc.com (RSA Interceptor); Tue, 9 Jun 2015 10:45:14 -0400 Received: from HY-R1012-SPA.usd.lab.emc.com.com (hy-r1012-spa.rtp.lab.emc.com [10.6.71.221]) by mailapphubprd04.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id t59Eitb1026922; Tue, 9 Jun 2015 10:45:18 -0400 From: Allen Hubbe To: linux-ntb@googlegroups.com Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, Jon Mason , Dave Jiang , Allen Hubbe Subject: [PATCH v3 14/18] NTB: Use NUMA memory in Intel driver Date: Tue, 9 Jun 2015 05:44:41 -0400 Message-Id: <28dee49b012e53823387291f4ad0084b99ff8244.1433838377.git.Allen.Hubbe@emc.com> X-Mailer: git-send-email 2.4.0.rc0.44.g244209c.dirty In-Reply-To: References: In-Reply-To: References: X-RSA-Classifications: public X-Sentrion-Hostname: mailuogwprd53.lss.emc.com Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Allocate memory for the numa node of the ntb device. Signed-off-by: Allen Hubbe --- drivers/ntb/hw/intel/ntb_hw_intel.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c b/drivers/ntb/hw/intel/ntb_hw_intel.c index bef94a8bab96..a7f1b01cfdb3 100644 --- a/drivers/ntb/hw/intel/ntb_hw_intel.c +++ b/drivers/ntb/hw/intel/ntb_hw_intel.c @@ -413,10 +413,12 @@ static int ndev_init_isr(struct intel_ntb_dev *ndev, int msix_shift, int total_shift) { struct pci_dev *pdev; - int rc, i, msix_count; + int rc, i, msix_count, node; pdev = ndev_pdev(ndev); + node = dev_to_node(&pdev->dev); + /* Mask all doorbell interrupts */ ndev->db_mask = ndev->db_valid_mask; ndev->reg->db_iowrite(ndev->db_mask, @@ -425,11 +427,13 @@ static int ndev_init_isr(struct intel_ntb_dev *ndev, /* Try to set up msix irq */ - ndev->vec = kcalloc(msix_max, sizeof(*ndev->vec), GFP_KERNEL); + ndev->vec = kzalloc_node(msix_max * sizeof(*ndev->vec), + GFP_KERNEL, node); if (!ndev->vec) goto err_msix_vec_alloc; - ndev->msix = kcalloc(msix_max, sizeof(*ndev->msix), GFP_KERNEL); + ndev->msix = kzalloc_node(msix_max * sizeof(*ndev->msix), + GFP_KERNEL, node); if (!ndev->msix) goto err_msix_alloc; @@ -1960,10 +1964,12 @@ static int intel_ntb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct intel_ntb_dev *ndev; - int rc; + int rc, node; + + node = dev_to_node(&pdev->dev); if (pdev_is_bwd(pdev)) { - ndev = kmalloc(sizeof(*ndev), GFP_KERNEL); + ndev = kmalloc_node(sizeof(*ndev), GFP_KERNEL, node); if (!ndev) { rc = -ENOMEM; goto err_ndev; @@ -1980,7 +1986,7 @@ static int intel_ntb_pci_probe(struct pci_dev *pdev, goto err_init_dev; } else if (pdev_is_snb(pdev)) { - ndev = kmalloc(sizeof(*ndev), GFP_KERNEL); + ndev = kmalloc_node(sizeof(*ndev), GFP_KERNEL, node); if (!ndev) { rc = -ENOMEM; goto err_ndev;