Thanks Dave for the feedback.
I will give a look at 19.04 and master/latest.

Regards
-Prashant



On Mon, Jun 10, 2019 at 5:11 PM Dave Barach (dbarach) <dbar...@cisco.com> wrote:
>
> We've added purpose-built callback hooks in the main dispatch loop [in 
> master/latest] so that folks can hook up whatever sort of instrumentation 
> they like. Please have a look at that scheme.
>
> There's no point in attempting to upstream your work to stable/1801. We long 
> since shut down the CSIT performance jobs for 18.01, and we will not merge 
> feature patches into stable/1801.
>
> Many things have changed since 18.01 - thousands of patches' worth, including 
> significant performance tunes and a new build system - IIWY I'd rebase to 
> 19.04 and/or master/latest.
>
> HTH... Dave
>
> -----Original Message-----
> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Prashant 
> Upadhyaya
> Sent: Monday, June 10, 2019 6:13 AM
> To: Dave Barach (dbarach) <dbar...@cisco.com>
> Cc: vpp-dev@lists.fd.io
> Subject: Re: [vpp-dev] Approximate effective CPU utilization of VPP worker
>
> Hi Dave,
>
> Thanks for your suggestion.
>
> As an attempt towards an alternate strategy, I did go ahead and make a change 
> in the main loop of VPP18.01 (similar change as I describe below should be 
> valid much in a similar fashion to subsequent
> releases) and it seems to be working for me, but there might be many catches 
> so I am disclosing what I did below.
>
> In vlib_main_or_worker_loop, on a per thread basis, I accumulated time in the 
> following areas :- . vl_api_send_pending_rpc_requests (if there were indeed 
> some pending) . dispatch_node (if the node's callback returned n > 0) . 
> vlib_frame_queue_dequeue (again if return value was > 0) The above acted as a 
> numerator for a sampling time of 1 second, the denominator. At the stroke of 
> this window, I divide, store result and clear all accumulations to begin 
> afresh.
> The calculations are valid only for worker threads as I don't care for main 
> thread whose cpu is reported by linux anyway.
>
> Empirically it seems  to work ok for me. I did check by making my own plugins 
> quite busy and so forth.
>
> Do you think, the above is a reasonable custom strategy or is there a chance 
> of destroying performance of main loop (and thus the whole
> system) due to frequent calls to vlib_time_now, would appreciate if you can 
> give your opinion.
>
> Regards
> -Prashant
>
>
>
>
>
> On Fri, Jun 7, 2019 at 5:22 PM Dave Barach (dbarach) <dbar...@cisco.com> 
> wrote:
> >
> > The instantaneous vector size - in the stats segment, per-thread - is the 
> > best measure of how hard vpp is working.
> >
> >
> >
> > It's not a linear function of the offered load, but for any given offered 
> > load / feature set you can model it with three segments:
> >
> >
> >
> > Dead asleep: vector size < 3, offered load up to maybe 1 mpps’ worth
> > of simple forwarding Linear region: vector size increases smoothly as
> > offered load increases, up a vector size of maybe 128 or so Hit the wall: a 
> > slight increate in offered load causes a huge jump in the vector size, 
> > traffic loss, etc.
> >
> >
> >
> > HTH... Dave
> >
> >
> >
> > -----Original Message-----
> > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Prashant
> > Upadhyaya
> > Sent: Friday, June 7, 2019 5:41 AM
> > To: vpp-dev@lists.fd.io
> > Subject: [vpp-dev] Approximate effective CPU utilization of VPP worker
> >
> >
> >
> > Hi,
> >
> >
> >
> > I understand that VPP workers poll so they are always at 100 % CPU.
> >
> > However, I want to get an estimate of what is the effective CPU utilization 
> > i.e. the amount which was spent in doing the work for packet processing.
> >
> >
> >
> > In the native applications, the crude way I used to employ was to take a 
> > time window of say 1 second and I already know how many cpu cycles it is 
> > worth, this acted as the denominator. Then in every packet poll, I used to 
> > count the cycles spent when the packet was actually brought in and 
> > processed. So empty polls were not counted in the used cycles.
> >
> > This acted like the numerator.  When the window was exhausted, I used the 
> > numerator/denominator to get an approximation of effective CPU utilization 
> > of the worker.
> >
> >
> >
> > Is something like this already possible in VPP, I need to constantly 
> > monitor the effective CPU utilization of the worker at runtime to take some 
> > decisions and inform the system peers eg. to reduce sending traffic etc.
> >
> >
> >
> > Regards
> >
> > -Prashant
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#13251): https://lists.fd.io/g/vpp-dev/message/13251
Mute This Topic: https://lists.fd.io/mt/31973018/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to