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@codeaurora.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
571e7b85c5
commit
1bc49fd18b
@@ -683,10 +683,11 @@ static int emac_tx_q_desc_alloc(struct emac_adapter *adpt,
|
|||||||
struct emac_tx_queue *tx_q)
|
struct emac_tx_queue *tx_q)
|
||||||
{
|
{
|
||||||
struct emac_ring_header *ring_header = &adpt->ring_header;
|
struct emac_ring_header *ring_header = &adpt->ring_header;
|
||||||
|
int node = dev_to_node(adpt->netdev->dev.parent);
|
||||||
size_t size;
|
size_t size;
|
||||||
|
|
||||||
size = sizeof(struct emac_buffer) * tx_q->tpd.count;
|
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)
|
if (!tx_q->tpd.tpbuff)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
@@ -723,11 +724,12 @@ static void emac_rx_q_bufs_free(struct emac_adapter *adpt)
|
|||||||
static int emac_rx_descs_alloc(struct emac_adapter *adpt)
|
static int emac_rx_descs_alloc(struct emac_adapter *adpt)
|
||||||
{
|
{
|
||||||
struct emac_ring_header *ring_header = &adpt->ring_header;
|
struct emac_ring_header *ring_header = &adpt->ring_header;
|
||||||
|
int node = dev_to_node(adpt->netdev->dev.parent);
|
||||||
struct emac_rx_queue *rx_q = &adpt->rx_q;
|
struct emac_rx_queue *rx_q = &adpt->rx_q;
|
||||||
size_t size;
|
size_t size;
|
||||||
|
|
||||||
size = sizeof(struct emac_buffer) * rx_q->rfd.count;
|
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)
|
if (!rx_q->rfd.rfbuff)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user