qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] net: flush NetQueue before to send new packets
@ 2016-07-19 14:05 Stefano Garzarella
  0 siblings, 0 replies; 3+ messages in thread
From: Stefano Garzarella @ 2016-07-19 14:05 UTC (permalink / raw)
  To: jasowang; +Cc: qemu-devel, Stefano Garzarella

qemu_net_queue_send() and qemu_net_queue_send_iov() can flush
enqueued packets before delivering a new packet, in this way the original
packet ordering is preserved.

Signed-off-by: Stefano Garzarella <s.garzarella@evidence.eu.com>
---
 net/queue.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/net/queue.c b/net/queue.c
index 9c32abd..aa18e5e 100644
--- a/net/queue.c
+++ b/net/queue.c
@@ -196,14 +196,14 @@ ssize_t qemu_net_queue_send(NetQueue *queue,
         return 0;
     }
 
+    qemu_net_queue_flush(queue);
+
     ret = qemu_net_queue_deliver(queue, sender, flags, data, size);
     if (ret == 0) {
         qemu_net_queue_append(queue, sender, flags, data, size, sent_cb);
         return 0;
     }
 
-    qemu_net_queue_flush(queue);
-
     return ret;
 }
 
@@ -221,14 +221,14 @@ ssize_t qemu_net_queue_send_iov(NetQueue *queue,
         return 0;
     }
 
+    qemu_net_queue_flush(queue);
+
     ret = qemu_net_queue_deliver_iov(queue, sender, flags, iov, iovcnt);
     if (ret == 0) {
         qemu_net_queue_append_iov(queue, sender, flags, iov, iovcnt, sent_cb);
         return 0;
     }
 
-    qemu_net_queue_flush(queue);
-
     return ret;
 }
 
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Qemu-devel] [PATCH] net: flush NetQueue before to send new packets
@ 2016-07-19 14:33 Stefano Garzarella
  2016-07-26  2:25 ` Jason Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Stefano Garzarella @ 2016-07-19 14:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: jasowang, Stefano Garzarella

qemu_net_queue_send() and qemu_net_queue_send_iov() can flush
enqueued packets before delivering a new packet, in this way the original
packet ordering is preserved.

Signed-off-by: Stefano Garzarella <s.garzarella@evidence.eu.com>
---
 net/queue.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/net/queue.c b/net/queue.c
index 9c32abd..aa18e5e 100644
--- a/net/queue.c
+++ b/net/queue.c
@@ -196,14 +196,14 @@ ssize_t qemu_net_queue_send(NetQueue *queue,
         return 0;
     }
 
+    qemu_net_queue_flush(queue);
+
     ret = qemu_net_queue_deliver(queue, sender, flags, data, size);
     if (ret == 0) {
         qemu_net_queue_append(queue, sender, flags, data, size, sent_cb);
         return 0;
     }
 
-    qemu_net_queue_flush(queue);
-
     return ret;
 }
 
@@ -221,14 +221,14 @@ ssize_t qemu_net_queue_send_iov(NetQueue *queue,
         return 0;
     }
 
+    qemu_net_queue_flush(queue);
+
     ret = qemu_net_queue_deliver_iov(queue, sender, flags, iov, iovcnt);
     if (ret == 0) {
         qemu_net_queue_append_iov(queue, sender, flags, iov, iovcnt, sent_cb);
         return 0;
     }
 
-    qemu_net_queue_flush(queue);
-
     return ret;
 }
 
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] net: flush NetQueue before to send new packets
  2016-07-19 14:33 [Qemu-devel] [PATCH] net: flush NetQueue before to send new packets Stefano Garzarella
@ 2016-07-26  2:25 ` Jason Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Jason Wang @ 2016-07-26  2:25 UTC (permalink / raw)
  To: Stefano Garzarella, qemu-devel



On 2016年07月19日 22:33, Stefano Garzarella wrote:
> qemu_net_queue_send() and qemu_net_queue_send_iov() can flush
> enqueued packets before delivering a new packet, in this way the original
> packet ordering is preserved.
>
> Signed-off-by: Stefano Garzarella <s.garzarella@evidence.eu.com>
> ---
>   net/queue.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/net/queue.c b/net/queue.c
> index 9c32abd..aa18e5e 100644
> --- a/net/queue.c
> +++ b/net/queue.c
> @@ -196,14 +196,14 @@ ssize_t qemu_net_queue_send(NetQueue *queue,
>           return 0;
>       }
>   
> +    qemu_net_queue_flush(queue);
> +
>       ret = qemu_net_queue_deliver(queue, sender, flags, data, size);
>       if (ret == 0) {
>           qemu_net_queue_append(queue, sender, flags, data, size, sent_cb);
>           return 0;
>       }
>   
> -    qemu_net_queue_flush(queue);
> -
>       return ret;
>   }
>   
> @@ -221,14 +221,14 @@ ssize_t qemu_net_queue_send_iov(NetQueue *queue,
>           return 0;
>       }
>   
> +    qemu_net_queue_flush(queue);
> +
>       ret = qemu_net_queue_deliver_iov(queue, sender, flags, iov, iovcnt);
>       if (ret == 0) {
>           qemu_net_queue_append_iov(queue, sender, flags, iov, iovcnt, sent_cb);
>           return 0;
>       }
>   
> -    qemu_net_queue_flush(queue);
> -
>       return ret;
>   }
>   

Queued for 2.8.

Thanks

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-07-26  2:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-19 14:33 [Qemu-devel] [PATCH] net: flush NetQueue before to send new packets Stefano Garzarella
2016-07-26  2:25 ` Jason Wang
  -- strict thread matches above, loose matches on Subject: below --
2016-07-19 14:05 Stefano Garzarella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).