[ovs-discuss] OVS Polling Timer

Adil Ahmad adilahmad17 at gmail.com
Wed Apr 20 20:05:16 UTC 2016


Okay, I will have a look at that too. Thanks! :)

On Wed, Apr 20, 2016 at 11:38 PM, Joe Stringer <joe at ovn.org> wrote:

> Please don't drop the list.
>
> I think that you need to just investigate further, profile,
> timestamp/log different pieces of the processing. One direction might
> be to monitor when the actual OpenFlow requests/responses are sent
> between OVS and POX. I don't think that either OVS or POX are made for
> this kind of use case, so I don't have any more information than you
> about where the latency is introduced.
>
> On 20 April 2016 at 11:28, Adil Ahmad <adilahmad17 at gmail.com> wrote:
> > Hi,
> >
> > Thanks for the reply. Yes, I understand the points that you've made. So,
> > currently I am able to fetch updated stats about every ~1.5 ms usually,
> > after changing the line. But after about every 30ms, I experience a
> 'jump',
> > which means that the flow stats event callback returns after about ~50
> ms. I
> > think hardware constraints come into play but I am not sure. Can you help
> > explain this?
> >
> > Adil
> >
> > On Wed, Apr 20, 2016 at 11:16 PM, Joe Stringer <joe at ovn.org> wrote:
> >>
> >> On 19 April 2016 at 12:56, Adil Ahmad <adilahmad17 at gmail.com> wrote:
> >> > Hi,
> >> >
> >> > I am trying to decrease the time that OVS takes to update its
> >> > packet/byte
> >> > counters. I was previously told that the line 898 of
> >> > ofproto-dpif-upcall.c
> >> > which is part of function udpif_validator is used to set the timer.
> The
> >> > line
> >> > is as follows:
> >> >
> >> > // Original
> >> > poll_timer_wait_until(start_time + MIN(ofproto_max_idle, 500));
> >> >
> >> > //Changed
> >> > poll_timer_wait_until(start_time + MIN(ofproto_max_idle, 1));
> >>
> >> Note that this timer simply sets the typical time that the revalidator
> >> thread will sleep *after finishing all of its work*, so it doesn't
> >> guarantee that stats will be synchronized every 1ms.
> >>
> >> > I changed it to 1 and I can now get updated counters at ~1ms
> frequency.
> >> > However, I have noticed that after about 30 ms, there is a sudden jump
> >> > and
> >> > the stats handler takes a jump by about ~50ms. My controller is POX
> >> > based
> >> > and my timer is python datetime timer with microsecond granularity.
> >> >
> >> > Can anyone tell me why I see the jump?
> >>
> >> What do you mean by "jump"?
> >>
> >> All you've done is increase the consistency of stats within OVS - the
> >> kernel module is more closely synchronised with the OpenFlow rules in
> >> userspace. If you're fetching the stats via OpenFlow, then the main
> >> thread might not be able to wake up and provide stats as quickly as
> >> you want. Even if that is possible, there's still a whole host of
> >> other potential pitfalls to trying to get realtime stats.
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160421/188f4674/attachment-0002.html>


More information about the discuss mailing list