[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1526545680-21650-1-git-send-email-hpuranik@codeaurora.org>
Date: Thu, 17 May 2018 13:58:00 +0530
From: Hemanth Puranik <hpuranik@...eaurora.org>
To: netdev <netdev@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Cc: Timur Tabi <timur@...eaurora.org>,
Hemanth Puranik <hpuranik@...eaurora.org>
Subject: [PATCH] net: qcom/emac: Allocate buffers from local node
Currently we use non-NUMA aware allocation for TPD and RRD buffers,
this patch modifies to use NUMA friendly allocation.
Signed-off-by: Hemanth Puranik <hpuranik@...eaurora.org>
---
drivers/net/ethernet/qualcomm/emac/emac-mac.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qualcomm/emac/emac-mac.c b/drivers/net/ethernet/qualcomm/emac/emac-mac.c
index 092718a..c3df86a 100644
--- a/drivers/net/ethernet/qualcomm/emac/emac-mac.c
+++ b/drivers/net/ethernet/qualcomm/emac/emac-mac.c
@@ -684,9 +684,10 @@ static int emac_tx_q_desc_alloc(struct emac_adapter *adpt,
{
struct emac_ring_header *ring_header = &adpt->ring_header;
size_t size;
+ int node = dev_to_node(adpt->netdev->dev.parent);
size = sizeof(struct emac_buffer) * tx_q->tpd.count;
- tx_q->tpd.tpbuff = kzalloc(size, GFP_KERNEL);
+ tx_q->tpd.tpbuff = kzalloc_node(size, GFP_KERNEL, node);
if (!tx_q->tpd.tpbuff)
return -ENOMEM;
@@ -725,9 +726,10 @@ static int emac_rx_descs_alloc(struct emac_adapter *adpt)
struct emac_ring_header *ring_header = &adpt->ring_header;
struct emac_rx_queue *rx_q = &adpt->rx_q;
size_t size;
+ int node = dev_to_node(adpt->netdev->dev.parent);
size = sizeof(struct emac_buffer) * rx_q->rfd.count;
- rx_q->rfd.rfbuff = kzalloc(size, GFP_KERNEL);
+ rx_q->rfd.rfbuff = kzalloc_node(size, GFP_KERNEL, node);
if (!rx_q->rfd.rfbuff)
return -ENOMEM;
--
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
Powered by blists - more mailing lists