* [PATCH RFC] tun, macvtap: higher order allocations for skbs
@ 2015-06-18 10:20 Michael S. Tsirkin
2015-06-18 10:54 ` Christian Borntraeger
2015-06-29 4:50 ` Jason Wang
0 siblings, 2 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2015-06-18 10:20 UTC (permalink / raw)
To: linux-kernel; +Cc: David S. Miller, Jason Wang, netdev
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);
--
MST
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH RFC] tun, macvtap: higher order allocations for skbs
2015-06-18 10:20 [PATCH RFC] tun, macvtap: higher order allocations for skbs Michael S. Tsirkin
@ 2015-06-18 10:54 ` Christian Borntraeger
2015-06-18 11:13 ` Michael S. Tsirkin
2015-06-29 4:50 ` Jason Wang
1 sibling, 1 reply; 5+ messages in thread
From: Christian Borntraeger @ 2015-06-18 10:54 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel; +Cc: David S. Miller, Jason Wang, netdev
Am 18.06.2015 um 12:20 schrieb Michael S. Tsirkin:
> Needs more testing. Anyone see anything wrong with this?
Can you explain the motivation?
FWIW, basic networking between two guest over macvtap still
seems to work on s390 so I dont see any obvious regression.
Christian
>
> 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);
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH RFC] tun, macvtap: higher order allocations for skbs
2015-06-18 10:54 ` Christian Borntraeger
@ 2015-06-18 11:13 ` Michael S. Tsirkin
0 siblings, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2015-06-18 11:13 UTC (permalink / raw)
To: Christian Borntraeger; +Cc: linux-kernel, David S. Miller, Jason Wang, netdev
On Thu, Jun 18, 2015 at 12:54:44PM +0200, Christian Borntraeger wrote:
> Am 18.06.2015 um 12:20 schrieb Michael S. Tsirkin:
> > Needs more testing. Anyone see anything wrong with this?
> Can you explain the motivation?
> FWIW, basic networking between two guest over macvtap still
> seems to work on s390 so I dont see any obvious regression.
>
> Christian
Shorter fragment list often makes processing in the net stack more
efficient.
> >
> > 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);
> >
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH RFC] tun, macvtap: higher order allocations for skbs
2015-06-18 10:20 [PATCH RFC] tun, macvtap: higher order allocations for skbs Michael S. Tsirkin
2015-06-18 10:54 ` Christian Borntraeger
@ 2015-06-29 4:50 ` Jason Wang
2015-06-29 10:30 ` Jason Wang
1 sibling, 1 reply; 5+ messages in thread
From: Jason Wang @ 2015-06-29 4:50 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel; +Cc: David S. Miller, netdev
On 06/18/2015 06:20 PM, Michael S. Tsirkin wrote:
> 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%
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH RFC] tun, macvtap: higher order allocations for skbs
2015-06-29 4:50 ` Jason Wang
@ 2015-06-29 10:30 ` Jason Wang
0 siblings, 0 replies; 5+ messages in thread
From: Jason Wang @ 2015-06-29 10:30 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel; +Cc: David S. Miller, netdev
On 06/29/2015 12:50 PM, Jason Wang wrote:
>
> On 06/18/2015 06:20 PM, Michael S. Tsirkin wrote:
>> 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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-06-29 10:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-18 10:20 [PATCH RFC] tun, macvtap: higher order allocations for skbs Michael S. Tsirkin
2015-06-18 10:54 ` Christian Borntraeger
2015-06-18 11:13 ` Michael S. Tsirkin
2015-06-29 4:50 ` Jason Wang
2015-06-29 10:30 ` Jason Wang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.