Thanks Dave for the useful suggestions. Regards -Prashant
On Thu, Jul 23, 2020 at 4:24 PM Dave Barach (dbarach) <[email protected]> wrote: > > You could use the vlib_node_runtime_perf_counter callback hook to run code > between node dispatches, which SHOULD give adequate precision. > > Alternatively, spin up 1-N threads to run the shaper and driver TX path, and > nothing else. See also the handoff node. > > HTH... Dave > > -----Original Message----- > From: [email protected] <[email protected]> On Behalf Of Prashant > Upadhyaya > Sent: Thursday, July 23, 2020 2:39 AM > To: [email protected] > Subject: [vpp-dev] Regarding worker loop in VPP > > Hi, > > I have implemented a shaper as a poll node in VPP. worker. > The implementation is such that the shaper needs to send packets out which > are sitting/scheduled in a timer wheel with microsecond granularity slots. > The shaper must invoke at a precise regular interval, say every 250 > microseconds where it will rotate the wheel and if any timers expire then > send packets out corresponding to those timers. > > Everything works well, till the various other nodes start getting loaded and > disturb the invocation of the shaper poll node at precise intervals. This > leads to multiple slots expiring from the timer wheel at times leading to > sending out of uneven amount of data depending on how many slots expire in > the wheel. > > Given the nature of while(1) loop operating in the worker and the graph > scheduling present there, is there any way I can have my poll node invoke at > high precision time boundary as an exception out of the main loop, do the job > there and go back to what the worker loop was doing. > > Regards > -Prashant
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#17074): https://lists.fd.io/g/vpp-dev/message/17074 Mute This Topic: https://lists.fd.io/mt/75740975/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
