All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest Rx refactor)
@ 2016-10-11 15:48 David Vrabel
  0 siblings, 0 replies; 6+ messages in thread
From: David Vrabel @ 2016-10-11 15:48 UTC (permalink / raw)
  To: netdev; +Cc: xen-devel, Paul Durrant, Wei Liu, David Vrabel

If a VIF has been ready for rx_stall_timeout (60s by default) and an
Rx ring is drained of all requests an Rx stall will be incorrectly
detected.  When this occurs and the guest Rx queue is empty, the Rx
ring's event index will not be set and the frontend will not raise an
event when new requests are placed on the ring, permanently stalling
the VIF.

This is a regression introduced by eb1723a29b9a7 (xen-netback:
refactor guest rx).

Fix this by reinstating the setting of queue->last_rx_time when
placing a packet onto the guest Rx ring.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 drivers/net/xen-netback/rx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/xen-netback/rx.c b/drivers/net/xen-netback/rx.c
index 8e9ade6..d69f2a9 100644
--- a/drivers/net/xen-netback/rx.c
+++ b/drivers/net/xen-netback/rx.c
@@ -425,6 +425,8 @@ void xenvif_rx_skb(struct xenvif_queue *queue)
 
 	xenvif_rx_next_skb(queue, &pkt);
 
+	queue->last_rx_time = jiffies;
+
 	do {
 		struct xen_netif_rx_request *req;
 		struct xen_netif_rx_response *rsp;
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest Rx refactor)
  2016-10-11 15:48 David Vrabel
                   ` (2 preceding siblings ...)
  2016-10-13 14:21 ` David Miller
@ 2016-10-13 14:21 ` David Miller
  3 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2016-10-13 14:21 UTC (permalink / raw)
  To: david.vrabel; +Cc: netdev, xen-devel, paul.durrant, wei.liu2

From: David Vrabel <david.vrabel@citrix.com>
Date: Tue, 11 Oct 2016 16:48:27 +0100

> If a VIF has been ready for rx_stall_timeout (60s by default) and an
> Rx ring is drained of all requests an Rx stall will be incorrectly
> detected.  When this occurs and the guest Rx queue is empty, the Rx
> ring's event index will not be set and the frontend will not raise an
> event when new requests are placed on the ring, permanently stalling
> the VIF.
> 
> This is a regression introduced by eb1723a29b9a7 (xen-netback:
> refactor guest rx).
> 
> Fix this by reinstating the setting of queue->last_rx_time when
> placing a packet onto the guest Rx ring.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

Applied.

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

* Re: [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest Rx refactor)
  2016-10-11 15:48 David Vrabel
  2016-10-11 15:54 ` Paul Durrant
  2016-10-11 15:54 ` Paul Durrant
@ 2016-10-13 14:21 ` David Miller
  2016-10-13 14:21 ` David Miller
  3 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2016-10-13 14:21 UTC (permalink / raw)
  To: david.vrabel; +Cc: netdev, paul.durrant, wei.liu2, xen-devel

From: David Vrabel <david.vrabel@citrix.com>
Date: Tue, 11 Oct 2016 16:48:27 +0100

> If a VIF has been ready for rx_stall_timeout (60s by default) and an
> Rx ring is drained of all requests an Rx stall will be incorrectly
> detected.  When this occurs and the guest Rx queue is empty, the Rx
> ring's event index will not be set and the frontend will not raise an
> event when new requests are placed on the ring, permanently stalling
> the VIF.
> 
> This is a regression introduced by eb1723a29b9a7 (xen-netback:
> refactor guest rx).
> 
> Fix this by reinstating the setting of queue->last_rx_time when
> placing a packet onto the guest Rx ring.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

Applied.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* RE: [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest Rx refactor)
  2016-10-11 15:48 David Vrabel
  2016-10-11 15:54 ` Paul Durrant
@ 2016-10-11 15:54 ` Paul Durrant
  2016-10-13 14:21 ` David Miller
  2016-10-13 14:21 ` David Miller
  3 siblings, 0 replies; 6+ messages in thread
From: Paul Durrant @ 2016-10-11 15:54 UTC (permalink / raw)
  To: David Vrabel, netdev; +Cc: David Vrabel, xen-devel, Wei Liu

> -----Original Message-----
> From: David Vrabel [mailto:david.vrabel@citrix.com]
> Sent: 11 October 2016 16:48
> To: netdev@vger.kernel.org
> Cc: David Vrabel <david.vrabel@citrix.com>; xen-devel@lists.xenproject.org;
> Paul Durrant <Paul.Durrant@citrix.com>; Wei Liu <wei.liu2@citrix.com>
> Subject: [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest
> Rx refactor)
> 
> If a VIF has been ready for rx_stall_timeout (60s by default) and an
> Rx ring is drained of all requests an Rx stall will be incorrectly
> detected.  When this occurs and the guest Rx queue is empty, the Rx
> ring's event index will not be set and the frontend will not raise an
> event when new requests are placed on the ring, permanently stalling
> the VIF.
> 
> This is a regression introduced by eb1723a29b9a7 (xen-netback:
> refactor guest rx).
> 
> Fix this by reinstating the setting of queue->last_rx_time when
> placing a packet onto the guest Rx ring.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Paul Durrant <paul.durrant@citrix.com>

> ---
>  drivers/net/xen-netback/rx.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/xen-netback/rx.c b/drivers/net/xen-netback/rx.c
> index 8e9ade6..d69f2a9 100644
> --- a/drivers/net/xen-netback/rx.c
> +++ b/drivers/net/xen-netback/rx.c
> @@ -425,6 +425,8 @@ void xenvif_rx_skb(struct xenvif_queue *queue)
> 
>  	xenvif_rx_next_skb(queue, &pkt);
> 
> +	queue->last_rx_time = jiffies;
> +
>  	do {
>  		struct xen_netif_rx_request *req;
>  		struct xen_netif_rx_response *rsp;
> --
> 2.1.4

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

* Re: [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest Rx refactor)
  2016-10-11 15:48 David Vrabel
@ 2016-10-11 15:54 ` Paul Durrant
  2016-10-11 15:54 ` Paul Durrant
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Paul Durrant @ 2016-10-11 15:54 UTC (permalink / raw)
  To: netdev; +Cc: xen-devel, Wei Liu, David Vrabel

> -----Original Message-----
> From: David Vrabel [mailto:david.vrabel@citrix.com]
> Sent: 11 October 2016 16:48
> To: netdev@vger.kernel.org
> Cc: David Vrabel <david.vrabel@citrix.com>; xen-devel@lists.xenproject.org;
> Paul Durrant <Paul.Durrant@citrix.com>; Wei Liu <wei.liu2@citrix.com>
> Subject: [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest
> Rx refactor)
> 
> If a VIF has been ready for rx_stall_timeout (60s by default) and an
> Rx ring is drained of all requests an Rx stall will be incorrectly
> detected.  When this occurs and the guest Rx queue is empty, the Rx
> ring's event index will not be set and the frontend will not raise an
> event when new requests are placed on the ring, permanently stalling
> the VIF.
> 
> This is a regression introduced by eb1723a29b9a7 (xen-netback:
> refactor guest rx).
> 
> Fix this by reinstating the setting of queue->last_rx_time when
> placing a packet onto the guest Rx ring.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Paul Durrant <paul.durrant@citrix.com>

> ---
>  drivers/net/xen-netback/rx.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/xen-netback/rx.c b/drivers/net/xen-netback/rx.c
> index 8e9ade6..d69f2a9 100644
> --- a/drivers/net/xen-netback/rx.c
> +++ b/drivers/net/xen-netback/rx.c
> @@ -425,6 +425,8 @@ void xenvif_rx_skb(struct xenvif_queue *queue)
> 
>  	xenvif_rx_next_skb(queue, &pkt);
> 
> +	queue->last_rx_time = jiffies;
> +
>  	do {
>  		struct xen_netif_rx_request *req;
>  		struct xen_netif_rx_response *rsp;
> --
> 2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest Rx refactor)
@ 2016-10-11 15:48 David Vrabel
  2016-10-11 15:54 ` Paul Durrant
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: David Vrabel @ 2016-10-11 15:48 UTC (permalink / raw)
  To: netdev; +Cc: David Vrabel, xen-devel, Paul Durrant, Wei Liu

If a VIF has been ready for rx_stall_timeout (60s by default) and an
Rx ring is drained of all requests an Rx stall will be incorrectly
detected.  When this occurs and the guest Rx queue is empty, the Rx
ring's event index will not be set and the frontend will not raise an
event when new requests are placed on the ring, permanently stalling
the VIF.

This is a regression introduced by eb1723a29b9a7 (xen-netback:
refactor guest rx).

Fix this by reinstating the setting of queue->last_rx_time when
placing a packet onto the guest Rx ring.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 drivers/net/xen-netback/rx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/xen-netback/rx.c b/drivers/net/xen-netback/rx.c
index 8e9ade6..d69f2a9 100644
--- a/drivers/net/xen-netback/rx.c
+++ b/drivers/net/xen-netback/rx.c
@@ -425,6 +425,8 @@ void xenvif_rx_skb(struct xenvif_queue *queue)
 
 	xenvif_rx_next_skb(queue, &pkt);
 
+	queue->last_rx_time = jiffies;
+
 	do {
 		struct xen_netif_rx_request *req;
 		struct xen_netif_rx_response *rsp;
-- 
2.1.4

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

end of thread, other threads:[~2016-10-13 14:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-11 15:48 [PATCHv1 net] xen-netback: fix guest Rx stall detection (after guest Rx refactor) David Vrabel
  -- strict thread matches above, loose matches on Subject: below --
2016-10-11 15:48 David Vrabel
2016-10-11 15:54 ` Paul Durrant
2016-10-11 15:54 ` Paul Durrant
2016-10-13 14:21 ` David Miller
2016-10-13 14:21 ` David Miller

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.