* [PATCH] virtio_net: Clean up set_skb_frag()
@ 2011-10-20 8:17 Krishna Kumar
2011-10-20 8:46 ` Eric Dumazet
0 siblings, 1 reply; 3+ messages in thread
From: Krishna Kumar @ 2011-10-20 8:17 UTC (permalink / raw)
To: rusty, mst; +Cc: netdev, linux-kernel, davem, Krishna Kumar, virtualization
Remove manual initialization in set_skb_frag, and instead
use __skb_fill_page_desc() to do the same. Patch tested
on net-next.
Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
drivers/net/virtio_net.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff -ruNp org/drivers/net/virtio_net.c new/drivers/net/virtio_net.c
--- org/drivers/net/virtio_net.c 2011-10-20 08:34:31.000000000 +0530
+++ new/drivers/net/virtio_net.c 2011-10-20 08:43:57.000000000 +0530
@@ -143,18 +143,15 @@ static void skb_xmit_done(struct virtque
static void set_skb_frag(struct sk_buff *skb, struct page *page,
unsigned int offset, unsigned int *len)
{
+ int size = min((unsigned)PAGE_SIZE - offset, *len);
int i = skb_shinfo(skb)->nr_frags;
- skb_frag_t *f;
- f = &skb_shinfo(skb)->frags[i];
- skb_frag_size_set(f, min((unsigned)PAGE_SIZE - offset, *len));
- f->page_offset = offset;
- __skb_frag_set_page(f, page);
+ __skb_fill_page_desc(skb, i, page, offset, size);
- skb->data_len += skb_frag_size(f);
- skb->len += skb_frag_size(f);
+ skb->data_len += size;
+ skb->len += size;
skb_shinfo(skb)->nr_frags++;
- *len -= skb_frag_size(f);
+ *len -= size;
}
static struct sk_buff *page_to_skb(struct virtnet_info *vi,
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] virtio_net: Clean up set_skb_frag()
2011-10-20 8:17 [PATCH] virtio_net: Clean up set_skb_frag() Krishna Kumar
@ 2011-10-20 8:46 ` Eric Dumazet
2011-10-20 8:54 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Eric Dumazet @ 2011-10-20 8:46 UTC (permalink / raw)
To: Krishna Kumar; +Cc: rusty, mst, netdev, linux-kernel, davem, virtualization
Le jeudi 20 octobre 2011 à 13:47 +0530, Krishna Kumar a écrit :
> Remove manual initialization in set_skb_frag, and instead
> use __skb_fill_page_desc() to do the same. Patch tested
> on net-next.
>
> Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
> ---
> drivers/net/virtio_net.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff -ruNp org/drivers/net/virtio_net.c new/drivers/net/virtio_net.c
> --- org/drivers/net/virtio_net.c 2011-10-20 08:34:31.000000000 +0530
> +++ new/drivers/net/virtio_net.c 2011-10-20 08:43:57.000000000 +0530
> @@ -143,18 +143,15 @@ static void skb_xmit_done(struct virtque
> static void set_skb_frag(struct sk_buff *skb, struct page *page,
> unsigned int offset, unsigned int *len)
> {
> + int size = min((unsigned)PAGE_SIZE - offset, *len);
> int i = skb_shinfo(skb)->nr_frags;
> - skb_frag_t *f;
>
> - f = &skb_shinfo(skb)->frags[i];
> - skb_frag_size_set(f, min((unsigned)PAGE_SIZE - offset, *len));
> - f->page_offset = offset;
> - __skb_frag_set_page(f, page);
> + __skb_fill_page_desc(skb, i, page, offset, size);
>
> - skb->data_len += skb_frag_size(f);
> - skb->len += skb_frag_size(f);
> + skb->data_len += size;
> + skb->len += size;
> skb_shinfo(skb)->nr_frags++;
> - *len -= skb_frag_size(f);
> + *len -= size;
> }
>
> static struct sk_buff *page_to_skb(struct virtnet_info *vi,
>
> --
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Seems fine to me. There is a truesize patch for this driver, I'll send
it once your patch is in.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] virtio_net: Clean up set_skb_frag()
2011-10-20 8:46 ` Eric Dumazet
@ 2011-10-20 8:54 ` David Miller
0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2011-10-20 8:54 UTC (permalink / raw)
To: eric.dumazet; +Cc: krkumar2, rusty, mst, netdev, linux-kernel, virtualization
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 20 Oct 2011 10:46:02 +0200
> Le jeudi 20 octobre 2011 à 13:47 +0530, Krishna Kumar a écrit :
>> Remove manual initialization in set_skb_frag, and instead
>> use __skb_fill_page_desc() to do the same. Patch tested
>> on net-next.
>>
>> Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
...
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-10-20 8:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-20 8:17 [PATCH] virtio_net: Clean up set_skb_frag() Krishna Kumar
2011-10-20 8:46 ` Eric Dumazet
2011-10-20 8:54 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox