From: Sunil Goutham <sgoutham@cavium.com>
Date: Thu, 11 Feb 2016 16:20:26 +0000 (+0530)
Subject: net: thunderx: Alloc higher order pages when pagesize is small
X-Git-Tag: pci-v4.6-fixes-1~25^2~278^2
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6e4be8d6717cb63c58f6b404e63a881c76d8878c;p=users%2Fdwmw2%2Flinux.git

net: thunderx: Alloc higher order pages when pagesize is small

Allocate higher order pages when pagesize is small, this will
reduce number of calls to page allocator and wastage of memory.

Signed-off-by: Sunil Goutham <sgoutham@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
index 50ab6f4d8c196..5adb208c1ad2f 100644
--- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
+++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
@@ -78,7 +78,7 @@ static void nicvf_free_q_desc_mem(struct nicvf *nic, struct q_desc_mem *dmem)
 static inline int nicvf_alloc_rcv_buffer(struct nicvf *nic, gfp_t gfp,
 					 u32 buf_len, u64 **rbuf)
 {
-	int order = get_order(buf_len);
+	int order = (PAGE_SIZE <= 4096) ?  PAGE_ALLOC_COSTLY_ORDER : 0;
 
 	/* Check if request can be accomodated in previous allocated page */
 	if (nic->rb_page) {