Please try something like this, to eliminate the possibility that some bit of
code is sending this process an event. It’s not a good idea to skip the
vec_reset_length (event_data) step.
while (1)
{
uword event_type, * event_data = 0;
int i;
vlib_process_wait_for_event_or_clock (vm, 1e-2 /* 10 ms */);
event_type = vlib_process_get_events (vm, &event_data);
switch (event_type) {
case ~0: /* handle timer expirations */
rtb_event_loop_run_once ();
break;
default: /* bug! */
ASSERT (0);
}
vec_reset_length(event_data);
}
From: [email protected] <[email protected]> On Behalf Of Sudhir CR via
lists.fd.io
Sent: Monday, February 20, 2023 4:02 AM
To: [email protected]
Subject: Re: [vpp-dev] process node suspended indefinitely
Hi Dave,
Thank you for your response and help.
Please find the additional details below.
VPP Version 21.10
We are creating a process node rtb-vpp-epoll-process to handle control plane
events like interface add/delete, route add/delete.
This process node waits for 10ms of time (Not Interested in any events ) once
10ms is expired it will process control plane events mentioned above.
code snippet looks like below
```
static uword
rtb_vpp_epoll_process (vlib_main_t *vm,
vlib_node_runtime_t *rt,
vlib_frame_t *f)
{
...
...
while (1) {
vlib_process_wait_for_event_or_clock (vm, 10e-3);
vlib_process_get_events (vm, NULL);
rtb_event_loop_run_once(); <---- controlplane events handling
}
}
```
What we observed is that sometimes (when there is a high controlplane load like
request to install more routes) "rtb-vpp-epoll-process" is suspended and not
scheduled furever. this we found by using "show runtime rtb-vpp-epoll-process"
(in "show runtime rtb-vpp-epoll-process" command output suspends counter is not
incrementing.)
show runtime output in working case :
```
DBGvpp# show runtime rtb-vpp-epoll-process
Name State Calls Vectors
Suspends Clocks Vectors/Call
rtb-vpp-epoll-process any wait 0 0
192246 1.91e6 0.00
DBGvpp#
DBGvpp# show runtime rtb-vpp-epoll-process
Name State Calls Vectors
Suspends Clocks Vectors/Call
rtb-vpp-epoll-process any wait 0 0
193634 1.89e6 0.00
DBGvpp#
```
show runtime output in issue case :
```
DBGvpp# show runtime rtb-vpp-epoll-process
Name State Calls Vectors
Suspends Clocks Vectors/Call
rtb-vpp-epoll-process any wait 0 0
81477 7.08e6 0.00
DBGvpp# show runtime rtb-vpp-epoll-process
Name State Calls Vectors
Suspends Clocks Vectors/Call
rtb-vpp-epoll-process any wait 0 0
81477 7.08e6 0.00
```
Other process nodes like lldp-process, ip4-neighbor-age-process, ip6-ra-process
running without any issue. only "rtb-vpp-epoll-process" process node suspended
forever.
Please let me know if any additional information is required.
Hi Jinsh,
Thanks for pointing me to the issue you faced. The issue I am facing looks
similar.
I will verify with the given patch.
Thanks and Regards,
Sudhir
On Sun, Feb 19, 2023 at 6:19 AM jinsh11 <[email protected]
<mailto:[email protected]> > wrote:
HI:
* I have the same problem,
bfd process node stop running. I raised this issue,
https://lists.fd.io/g/vpp-dev/message/22380
I think there is a problem with the porcess scheduling module when using the
time wheel.
NOTICE TO RECIPIENT This e-mail message and any attachments are confidential
and may be privileged. If you received this e-mail in error, any review, use,
dissemination, distribution, or copying of this e-mail is strictly prohibited.
Please notify us immediately of the error by return e-mail and please delete
this message from your system. For more information about Rtbrick, please visit
us at www.rtbrick.com <http://www.rtbrick.com>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22605): https://lists.fd.io/g/vpp-dev/message/22605
Mute This Topic: https://lists.fd.io/mt/97032803/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-