diff mbox series

[ovs-dev,2/2] pinctrl: Fixed 100% cpu when connection lost to ovs.

Message ID 20240320071226.2754893-2-xsimonar@redhat.com
State Superseded
Headers show
Series [ovs-dev,1/2] pinctrl: Fix missing MAC_Bindings. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_ovn-kubernetes success github build: passed
ovsrobot/github-robot-_Build_and_Test fail github build: failed

Commit Message

Xavier Simonart March 20, 2024, 7:12 a.m. UTC
This issue is happening for instance when running test
"ovn-controller - Chassis other_config".

Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
---
 controller/pinctrl.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

Comments

Ales Musil March 20, 2024, 11:11 a.m. UTC | #1
On Wed, Mar 20, 2024 at 8:12 AM Xavier Simonart <xsimonar@redhat.com> wrote:

> This issue is happening for instance when running test
> "ovn-controller - Chassis other_config".
>
> Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
> ---
>  controller/pinctrl.c | 15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/controller/pinctrl.c b/controller/pinctrl.c
> index f75b04696..ec6c7549b 100644
> --- a/controller/pinctrl.c
> +++ b/controller/pinctrl.c
> @@ -3627,13 +3627,14 @@ pinctrl_handler(void *arg_)
>
>          rconn_run_wait(swconn);
>          rconn_recv_wait(swconn);
> -        send_garp_rarp_wait(send_garp_rarp_time);
> -        ipv6_ra_wait(send_ipv6_ra_time);
> -        ip_mcast_querier_wait(send_mcast_query_time);
> -        svc_monitors_wait(svc_monitors_next_run_time);
> -        ipv6_prefixd_wait(send_prefixd_time);
> -        bfd_monitor_wait(bfd_time);
> -
> +        if (rconn_is_connected(swconn)) {
> +            send_garp_rarp_wait(send_garp_rarp_time);
> +            ipv6_ra_wait(send_ipv6_ra_time);
> +            ip_mcast_querier_wait(send_mcast_query_time);
> +            svc_monitors_wait(svc_monitors_next_run_time);
> +            ipv6_prefixd_wait(send_prefixd_time);
> +            bfd_monitor_wait(bfd_time);
> +        }
>          seq_wait(pinctrl_handler_seq, new_seq);
>
>          latch_wait(&pctrl->pinctrl_thread_exit);
> --
> 2.31.1
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.

Acked-by: Ales Musil <amusil@redhat.com>
diff mbox series

Patch

diff --git a/controller/pinctrl.c b/controller/pinctrl.c
index f75b04696..ec6c7549b 100644
--- a/controller/pinctrl.c
+++ b/controller/pinctrl.c
@@ -3627,13 +3627,14 @@  pinctrl_handler(void *arg_)
 
         rconn_run_wait(swconn);
         rconn_recv_wait(swconn);
-        send_garp_rarp_wait(send_garp_rarp_time);
-        ipv6_ra_wait(send_ipv6_ra_time);
-        ip_mcast_querier_wait(send_mcast_query_time);
-        svc_monitors_wait(svc_monitors_next_run_time);
-        ipv6_prefixd_wait(send_prefixd_time);
-        bfd_monitor_wait(bfd_time);
-
+        if (rconn_is_connected(swconn)) {
+            send_garp_rarp_wait(send_garp_rarp_time);
+            ipv6_ra_wait(send_ipv6_ra_time);
+            ip_mcast_querier_wait(send_mcast_query_time);
+            svc_monitors_wait(svc_monitors_next_run_time);
+            ipv6_prefixd_wait(send_prefixd_time);
+            bfd_monitor_wait(bfd_time);
+        }
         seq_wait(pinctrl_handler_seq, new_seq);
 
         latch_wait(&pctrl->pinctrl_thread_exit);