[dpdk-dev] [PATCH v4 1/2] librte_headroom: New library for checking core/system/app load
De Lara Guarch, Pablo
pablo.de.lara.guarch at intel.com
Wed Feb 18 14:36:15 CET 2015
Hi Pawel,
A few things to fix in this patch:
> -----Original Message-----
> From: Wodkowski, PawelX
> Sent: Tuesday, February 17, 2015 4:42 PM
> To: dev at dpdk.org
> Cc: De Lara Guarch, Pablo
> Subject: [PATCH v4 1/2] librte_headroom: New library for checking
> core/system/app load
>
> This library provide API to measure time spend in particular parts of
> code and to calculate optimal polling time.
>
> To calculate a those statistics application code need to be devided into
Typo in "devided"
> parts (called jobs) that do something. It is up to application to decide
> what is considered a job.
>
> Series of jobs must be surrounded with the rte_headroom_start_loop() and
> rte_headroom_finish_loop() calls. After that, jobs might be started.
> Each job must be surrounded with rte_headroom_start_job() and
> rte_headroom_finish_job() calls.
>
> After job finish its execution, period in which it should be called
Finishes
> again is adjusted to minimize time wasted on unnecessary polls/calls.
> Adjustmend is based on data provided by job itself (ex: number of
> packets it processed).
Adjustment
>
> After all jobs in serie are executed fallowing statistics are updated
> and might be used by application. Statistics can be reset. Some of
> provided statistic data:
> - total/min/max execution - time spent in executing jobs.
> - total/min/max management - time spent outside execution area. This
> value might used to measure overhead of sheduling jobs. This time also
Be used, scheduling
> contains overhead of headroom library itself.
> - number of loops that executed at least one job
> - executed jobs
> - time when statistics were reset.
>
> Each job provide total/min/max execution time and execution count
> statistics.
>
> Signed-off-by: Pawel Wodkowski <pawelx.wodkowski at intel.com>
> ---
> config/common_bsdapp | 5 +
> config/common_linuxapp | 5 +
> lib/Makefile | 1 +
> lib/librte_headroom/Makefile | 54 +++++
> lib/librte_headroom/rte_headroom.c | 271
> ++++++++++++++++++++++
> lib/librte_headroom/rte_headroom.h | 324
> +++++++++++++++++++++++++++
> lib/librte_headroom/rte_headroom_version.map | 20 ++
> 7 files changed, 680 insertions(+)
> create mode 100644 lib/librte_headroom/Makefile
> create mode 100644 lib/librte_headroom/rte_headroom.c
> create mode 100644 lib/librte_headroom/rte_headroom.h
> create mode 100644 lib/librte_headroom/rte_headroom_version.map
>
[...]
> diff --git a/lib/librte_headroom/rte_headroom_version.map
> b/lib/librte_headroom/rte_headroom_version.map
> new file mode 100644
> index 0000000..1f20016
> --- /dev/null
> +++ b/lib/librte_headroom/rte_headroom_version.map
> @@ -0,0 +1,20 @@
> +DPDK_2.0 {
> + global:
> +
> + rte_headroom_init;
> + rte_headroom_start_loop;
> + rte_headroom_finish_loop;
> + rte_headroom_job_init;
> + rte_headroom_set_job_target;
> + rte_headroom_start_job;
> + rte_headroom_finish_job;
> + rte_headroom_job_set_period;
> + rte_headroom_set_min_period;
> + rte_headroom_set_max_period;
> + rte_headroom_set_update_period_function;
> + rte_headroom_reset_job_stats;
> + rte_headroom_reset_stats;
> +
Trailing whitespaces here.
> + local: *;
> +};
> +
Trailing whitespaces here.
> \ No newline at end of file
> --
> 1.9.1
More information about the dev
mailing list