Thread (5 messages) 5 messages, 3 authors, 2015-06-29

Re: [PATCH RFC] tun, macvtap: higher order allocations for skbs

From: Jason Wang <jasowang@redhat.com>
Date: 2015-06-29 10:30:40
Also in: lkml


On 06/29/2015 12:50 PM, Jason Wang wrote:
On 06/18/2015 06:20 PM, Michael S. Tsirkin wrote:
quoted
Needs more testing. Anyone see anything wrong with this?

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 drivers/net/macvtap.c | 2 +-
 drivers/net/tun.c     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index 928f3f4..80e87e4 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -610,7 +610,7 @@ static inline struct sk_buff *macvtap_alloc_skb(struct sock *sk, size_t prepad,
 		linear = len;
 
 	skb = sock_alloc_send_pskb(sk, prepad + linear, len - linear, noblock,
-				   err, 0);
+				   err, 1);
 	if (!skb)
 		return NULL;
 
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index cb376b2d..8f2f1e5 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1069,7 +1069,7 @@ static struct sk_buff *tun_alloc_skb(struct tun_file *tfile,
 		linear = len;
 
 	skb = sock_alloc_send_pskb(sk, prepad + linear, len - linear, noblock,
-				   &err, 0);
+				   &err, 1);
 	if (!skb)
 		return ERR_PTR(err);
 
Have a round of netperf testing in tun and ixgbe, can see improvement on
packet size 512 and 2048.

TX:
size/session/+thu%/+normalize%
   64/     1/    0%/    0%
   64/     4/    0%/    0%
  512/     1/   +6%/   +7%
  512/     4/   +2%/   +2%
 2048/     1/  +24%/  +50%
 2048/     4/    0%/   +6%
16384/     1/    0%/   -6%
16384/     4/    0%/   -5%
65535/     1/    0%/   -4%
65535/     4/    0%/   -1%
RX:
size/session/+thu%/+normalize%
   64/     1/   -5%/   -4%
   64/     4/   -2%/   -1%
  512/     1/   -7%/   -8%
  512/     4/    0%/    0%
 2048/     1/   +4%/   +7%
 2048/     4/    0%/   +2%
16384/     1/    0%/   +2%
16384/     4/    0%/  +13%
65535/     1/    0%/    0%
65535/     4/    0%/   -1%
TCP_RR:
size/session/+thu%/+normalize%
    1/    25/    0%/    0%
    1/    50/    0%/    0%
   64/    25/    0%/   -1%
   64/    50/    0%/    0%
  256/    25/    0%/    0%
  256/    50/    0%/    0%
Done another test through pktgen in guest with my tx interrupt patches,
see little regression with this patch:

size/before(pps)/after(pps)
64/578689/573004
8192/332698/322733
16384/241497/237326
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help