pktgen: use netdev_alloc_skb
netdev_alloc_skb is NUMA node aware. Also, don't exhaust atomic emergency pool. Don't want pktgen to cause OOM behaviour. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
7d7bb1cf0e
commit
e470757d61
@@ -2539,8 +2539,9 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
|
|||||||
mod_cur_headers(pkt_dev);
|
mod_cur_headers(pkt_dev);
|
||||||
|
|
||||||
datalen = (odev->hard_header_len + 16) & ~0xf;
|
datalen = (odev->hard_header_len + 16) & ~0xf;
|
||||||
skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + datalen +
|
skb = __netdev_alloc_skb(odev,
|
||||||
pkt_dev->pkt_overhead, GFP_ATOMIC);
|
pkt_dev->cur_pkt_size + 64
|
||||||
|
+ datalen + pkt_dev->pkt_overhead, GFP_NOWAIT);
|
||||||
if (!skb) {
|
if (!skb) {
|
||||||
sprintf(pkt_dev->result, "No memory");
|
sprintf(pkt_dev->result, "No memory");
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -2878,8 +2879,9 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
|
|||||||
queue_map = pkt_dev->cur_queue_map;
|
queue_map = pkt_dev->cur_queue_map;
|
||||||
mod_cur_headers(pkt_dev);
|
mod_cur_headers(pkt_dev);
|
||||||
|
|
||||||
skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + 16 +
|
skb = __netdev_alloc_skb(odev,
|
||||||
pkt_dev->pkt_overhead, GFP_ATOMIC);
|
pkt_dev->cur_pkt_size + 64
|
||||||
|
+ 16 + pkt_dev->pkt_overhead, GFP_NOWAIT);
|
||||||
if (!skb) {
|
if (!skb) {
|
||||||
sprintf(pkt_dev->result, "No memory");
|
sprintf(pkt_dev->result, "No memory");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Reference in New Issue
Block a user