From 0d8c891f95e29020e4cda40e6618d0cd816e62ad Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Mon, 11 Oct 2010 19:05:25 +0000 Subject: [PATCH] --- yaml --- r: 215167 b: refs/heads/master c: 564824b0c52c34692d804bb6ea214451615b0b50 h: refs/heads/master i: 215165: f7cc9e1fa5618afc0a29fcde24a4fc7bc0215d28 215163: 30fd6af6b7f5ff797b808625553807c7eb02ade7 215159: 2d8d3bf5f34dbb68af615f64120c8a2993d32f53 215151: baffe7a24fdbe4960851e80b3a602b88bffd486e 215135: a117598777ae6db21ce57967aa0ea9a1def0ad56 215103: 66229452d210acca32b9d355399f288984bc1697 215039: 452be467ba771d1d3d8e62d93b5ba6c67e06f741 v: v3 --- [refs] | 2 +- trunk/include/linux/skbuff.h | 20 ++++++++++++++++---- trunk/net/core/skbuff.c | 13 +------------ 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/[refs] b/[refs] index e8fe65361761..387c2e3bab7c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6f0333b8fde44b8c04a53b2461504f0e8f1cebe6 +refs/heads/master: 564824b0c52c34692d804bb6ea214451615b0b50 diff --git a/trunk/include/linux/skbuff.h b/trunk/include/linux/skbuff.h index 0b53c43ac92e..05a358f1ba11 100644 --- a/trunk/include/linux/skbuff.h +++ b/trunk/include/linux/skbuff.h @@ -496,13 +496,13 @@ extern struct sk_buff *__alloc_skb(unsigned int size, static inline struct sk_buff *alloc_skb(unsigned int size, gfp_t priority) { - return __alloc_skb(size, priority, 0, -1); + return __alloc_skb(size, priority, 0, NUMA_NO_NODE); } static inline struct sk_buff *alloc_skb_fclone(unsigned int size, gfp_t priority) { - return __alloc_skb(size, priority, 1, -1); + return __alloc_skb(size, priority, 1, NUMA_NO_NODE); } extern bool skb_recycle_check(struct sk_buff *skb, int skb_size); @@ -1563,13 +1563,25 @@ static inline struct sk_buff *netdev_alloc_skb_ip_align(struct net_device *dev, return skb; } -extern struct page *__netdev_alloc_page(struct net_device *dev, gfp_t gfp_mask); +/** + * __netdev_alloc_page - allocate a page for ps-rx on a specific device + * @dev: network device to receive on + * @gfp_mask: alloc_pages_node mask + * + * Allocate a new page. dev currently unused. + * + * %NULL is returned if there is no free memory. + */ +static inline struct page *__netdev_alloc_page(struct net_device *dev, gfp_t gfp_mask) +{ + return alloc_pages_node(NUMA_NO_NODE, gfp_mask, 0); +} /** * netdev_alloc_page - allocate a page for ps-rx on a specific device * @dev: network device to receive on * - * Allocate a new page node local to the specified device. + * Allocate a new page. dev currently unused. * * %NULL is returned if there is no free memory. */ diff --git a/trunk/net/core/skbuff.c b/trunk/net/core/skbuff.c index 752c1972b3a7..4e8b82e167d8 100644 --- a/trunk/net/core/skbuff.c +++ b/trunk/net/core/skbuff.c @@ -247,10 +247,9 @@ EXPORT_SYMBOL(__alloc_skb); struct sk_buff *__netdev_alloc_skb(struct net_device *dev, unsigned int length, gfp_t gfp_mask) { - int node = dev->dev.parent ? dev_to_node(dev->dev.parent) : -1; struct sk_buff *skb; - skb = __alloc_skb(length + NET_SKB_PAD, gfp_mask, 0, node); + skb = __alloc_skb(length + NET_SKB_PAD, gfp_mask, 0, NUMA_NO_NODE); if (likely(skb)) { skb_reserve(skb, NET_SKB_PAD); skb->dev = dev; @@ -259,16 +258,6 @@ struct sk_buff *__netdev_alloc_skb(struct net_device *dev, } EXPORT_SYMBOL(__netdev_alloc_skb); -struct page *__netdev_alloc_page(struct net_device *dev, gfp_t gfp_mask) -{ - int node = dev->dev.parent ? dev_to_node(dev->dev.parent) : -1; - struct page *page; - - page = alloc_pages_node(node, gfp_mask, 0); - return page; -} -EXPORT_SYMBOL(__netdev_alloc_page); - void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, int size) {