From 0e041fb5369975c183d22ffeb156ea0dae760088 Mon Sep 17 00:00:00 2001 From: Allen Hubbe Date: Tue, 19 May 2015 12:04:52 -0400 Subject: NTB: Use NUMA memory in Intel driver Allocate memory for the NUMA node of the NTB device. Signed-off-by: Allen Hubbe Signed-off-by: Jon Mason --- drivers/ntb/hw/intel/ntb_hw_intel.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'drivers/ntb') diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c b/drivers/ntb/hw/intel/ntb_hw_intel.c index c5ad7cb..236b7d3 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; @@ -1955,10 +1959,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 = kzalloc(sizeof(*ndev), GFP_KERNEL); + ndev = kzalloc_node(sizeof(*ndev), GFP_KERNEL, node); if (!ndev) { rc = -ENOMEM; goto err_ndev; @@ -1975,7 +1981,7 @@ static int intel_ntb_pci_probe(struct pci_dev *pdev, goto err_init_dev; } else if (pdev_is_snb(pdev)) { - ndev = kzalloc(sizeof(*ndev), GFP_KERNEL); + ndev = kzalloc_node(sizeof(*ndev), GFP_KERNEL, node); if (!ndev) { rc = -ENOMEM; goto err_ndev; -- cgit v1.1