cxgb4: Use device node in page allocation
authorHariprasad Shenai <hariprasad@chelsio.com>
Tue, 14 Apr 2015 20:32:32 +0000 (02:02 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Apr 2015 19:08:52 +0000 (15:08 -0400)
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/sge.c

index e0cfce8..6af4bab 100644 (file)
@@ -592,8 +592,10 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
        unsigned int cred = q->avail;
        __be64 *d = &q->desc[q->pidx];
        struct rx_sw_desc *sd = &q->sdesc[q->pidx];
+       int node;
 
        gfp |= __GFP_NOWARN;
+       node = dev_to_node(adap->pdev_dev);
 
        if (s->fl_pg_order == 0)
                goto alloc_small_pages;
@@ -602,7 +604,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
         * Prefer large buffers
         */
        while (n) {
-               pg = __dev_alloc_pages(gfp, s->fl_pg_order);
+               pg = alloc_pages_node(node, gfp | __GFP_COMP, s->fl_pg_order);
                if (unlikely(!pg)) {
                        q->large_alloc_failed++;
                        break;       /* fall back to single pages */
@@ -632,7 +634,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
 
 alloc_small_pages:
        while (n--) {
-               pg = __dev_alloc_page(gfp);
+               pg = alloc_pages_node(node, gfp, 0);
                if (unlikely(!pg)) {
                        q->alloc_failed++;
                        break;