From: "Kulasek, TomaszX" <tomaszx.kulasek@intel.com>
To: "Betts, Ian" <ian.betts@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v8 0/4] examples: add performance-thread
Date: Fri, 4 Dec 2015 11:21:15 +0000 [thread overview]
Message-ID: <3042915272161B4EB253DA4D77EB373A14E22359@IRSMSX102.ger.corp.intel.com> (raw)
In-Reply-To: <1449225265-14480-1-git-send-email-ian.betts@intel.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ian Betts
> Sent: Friday, December 4, 2015 11:34
> To: dev@dpdk.org
> Cc: Betts, Ian
> Subject: [dpdk-dev] [PATCH v8 0/4] examples: add performance-thread
>
> This patchset comprises a layer 3 forwarding derivative intended to
> facilitate characterization of performance with different threading models,
> specifically:-
>
> 1. EAL threads running on different physical cores 2. EAL threads running
> on the same physical core 3. Lightweight threads running in an EAL thread
>
> Purpose and justification
>
> Since dpdk 2.0 it has been possible to assign multiple EAL threads to a
> physical core ( case 2 above ).
> Currently no example application has focused on demonstrating the
> performance constraints of differing threading models.
>
> Whilst purpose built applications that fully comprehend the DPDK single
> threaded programming model will always yield superior performance, the
> desire to preserve ROI in legacy code written for multithreaded operating
> environments makes lightweight threads (case 3 above) worthy of
> consideration.
>
> As well as aiding with legacy code reuse, it is anticipated that
> lightweight threads will make it possible to scale a multithreaded
> application with fine granularity allowing an application to more easily
> take advantage of headroom on EAL cores, or conversely occupy more cores,
> as dictated by system load.
>
> To explore performance with lightweight threads a simple cooperative
> scheduler subsystem is being included in this example application.
> If the expected benefits and use cases prove to be of value, it is
> anticipated that this lightweight thread subsystem would become a library
> in some future DPDK release.
>
> Changes in this version
> * remove ASM implementation of atomic64_xchg in favor
> of builtin __sync_lock_test_and_set()
>
> Ian Betts (4):
> doc: add sample application guide for performance-thread
> examples: add lthread subsystem forperformance-thread
> examples: add l3fwd-thread example in performance-thread
> examples: add pthread_shim example to performance thread
>
> config/defconfig_x86_64-native-linuxapp-gcc | 2 +
> config/defconfig_x86_64-native-linuxapp-icc | 2 +
> .../sample_app_ug/img/performance_thread_1.svg | 799 +++++
> .../sample_app_ug/img/performance_thread_2.svg | 865 +++++
> doc/guides/sample_app_ug/index.rst | 1 +
> doc/guides/sample_app_ug/performance_thread.rst | 1263 +++++++
> examples/Makefile | 1 +
> examples/performance-thread/Makefile | 47 +
> examples/performance-thread/common/arch/x86/ctx.c | 93 +
> examples/performance-thread/common/arch/x86/ctx.h | 57 +
> examples/performance-thread/common/common.mk | 42 +
> examples/performance-thread/common/lthread.c | 530 +++
> examples/performance-thread/common/lthread.h | 99 +
> examples/performance-thread/common/lthread_api.h | 829 +++++
> examples/performance-thread/common/lthread_cond.c | 240 ++
> examples/performance-thread/common/lthread_cond.h | 77 +
> examples/performance-thread/common/lthread_diag.c | 321 ++
> examples/performance-thread/common/lthread_diag.h | 129 +
> .../performance-thread/common/lthread_diag_api.h | 319 ++
> examples/performance-thread/common/lthread_int.h | 212 ++
> examples/performance-thread/common/lthread_mutex.c | 255 ++
> examples/performance-thread/common/lthread_mutex.h | 52 +
> .../performance-thread/common/lthread_objcache.h | 160 +
> examples/performance-thread/common/lthread_pool.h | 332 ++
> examples/performance-thread/common/lthread_queue.h | 302 ++
> examples/performance-thread/common/lthread_sched.c | 600 ++++
> examples/performance-thread/common/lthread_sched.h | 152 +
> examples/performance-thread/common/lthread_timer.h | 79 +
> examples/performance-thread/common/lthread_tls.c | 254 ++
> examples/performance-thread/common/lthread_tls.h | 57 +
> examples/performance-thread/l3fwd-thread/Makefile | 57 +
> examples/performance-thread/l3fwd-thread/main.c | 3641
> ++++++++++++++++++++
> examples/performance-thread/l3fwd-thread/test.sh | 149 +
> examples/performance-thread/pthread_shim/Makefile | 60 +
> examples/performance-thread/pthread_shim/main.c | 284 ++
> .../performance-thread/pthread_shim/pthread_shim.c | 714 ++++
> .../performance-thread/pthread_shim/pthread_shim.h | 113 +
> 37 files changed, 13189 insertions(+)
> create mode 100644 doc/guides/sample_app_ug/img/performance_thread_1.svg
> create mode 100644 doc/guides/sample_app_ug/img/performance_thread_2.svg
> create mode 100644 doc/guides/sample_app_ug/performance_thread.rst
> create mode 100644 examples/performance-thread/Makefile
> create mode 100644 examples/performance-thread/common/arch/x86/ctx.c
> create mode 100644 examples/performance-thread/common/arch/x86/ctx.h
> create mode 100644 examples/performance-thread/common/common.mk
> create mode 100644 examples/performance-thread/common/lthread.c
> create mode 100644 examples/performance-thread/common/lthread.h
> create mode 100644 examples/performance-thread/common/lthread_api.h
> create mode 100644 examples/performance-thread/common/lthread_cond.c
> create mode 100644 examples/performance-thread/common/lthread_cond.h
> create mode 100644 examples/performance-thread/common/lthread_diag.c
> create mode 100644 examples/performance-thread/common/lthread_diag.h
> create mode 100644 examples/performance-thread/common/lthread_diag_api.h
> create mode 100644 examples/performance-thread/common/lthread_int.h
> create mode 100644 examples/performance-thread/common/lthread_mutex.c
> create mode 100644 examples/performance-thread/common/lthread_mutex.h
> create mode 100644 examples/performance-thread/common/lthread_objcache.h
> create mode 100644 examples/performance-thread/common/lthread_pool.h
> create mode 100644 examples/performance-thread/common/lthread_queue.h
> create mode 100644 examples/performance-thread/common/lthread_sched.c
> create mode 100644 examples/performance-thread/common/lthread_sched.h
> create mode 100644 examples/performance-thread/common/lthread_timer.h
> create mode 100644 examples/performance-thread/common/lthread_tls.c
> create mode 100644 examples/performance-thread/common/lthread_tls.h
> create mode 100644 examples/performance-thread/l3fwd-thread/Makefile
> create mode 100644 examples/performance-thread/l3fwd-thread/main.c
> create mode 100755 examples/performance-thread/l3fwd-thread/test.sh
> create mode 100644 examples/performance-thread/pthread_shim/Makefile
> create mode 100644 examples/performance-thread/pthread_shim/main.c
> create mode 100644 examples/performance-thread/pthread_shim/pthread_shim.c
> create mode 100644 examples/performance-thread/pthread_shim/pthread_shim.h
>
> --
> 2.1.4
Series Acked-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
next prev parent reply other threads:[~2015-12-04 11:21 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-03 16:21 [dpdk-dev] [PATCH v7 " Ian Betts
2015-12-03 16:21 ` [dpdk-dev] [PATCH v7 1/4] doc: add sample application guide for performance-thread Ian Betts
2015-12-03 16:21 ` [dpdk-dev] [PATCH v7 2/4] examples: add lthread subsystem " Ian Betts
2015-12-04 10:34 ` [dpdk-dev] [PATCH v8 0/4] examples: add performance-thread Ian Betts
2015-12-04 10:34 ` [dpdk-dev] [PATCH v8 1/4] doc: add sample application guide for performance-thread Ian Betts
2015-12-07 17:58 ` [dpdk-dev] [PATCH v9 0/4] examples: add performance-thread Ian Betts
2015-12-07 17:58 ` [dpdk-dev] [PATCH v9 1/4] doc: add sample application guide for performance-thread Ian Betts
2015-12-07 17:58 ` [dpdk-dev] [PATCH v9 2/4] examples: add lthread subsystem " Ian Betts
2015-12-07 17:58 ` [dpdk-dev] [PATCH v9 3/4] examples: add l3fwd-thread example in performance-thread Ian Betts
2015-12-08 1:35 ` Thomas Monjalon
2015-12-08 1:54 ` Betts, Ian
2015-12-08 2:28 ` Thomas Monjalon
2015-12-08 1:39 ` Thomas Monjalon
2015-12-07 17:58 ` [dpdk-dev] [PATCH v9 4/4] examples: add pthread_shim example to performance thread Ian Betts
2015-12-04 10:34 ` [dpdk-dev] [PATCH v8 2/4] examples: add lthread subsystem forperformance-thread Ian Betts
2015-12-07 2:38 ` Thomas Monjalon
2015-12-04 10:34 ` [dpdk-dev] [PATCH v8 3/4] examples: add l3fwd-thread example in performance-thread Ian Betts
2015-12-07 2:36 ` Thomas Monjalon
2015-12-07 4:46 ` Betts, Ian
2015-12-07 11:20 ` Thomas Monjalon
2015-12-04 10:34 ` [dpdk-dev] [PATCH v8 4/4] examples: add pthread_shim example to performance thread Ian Betts
2015-12-04 11:21 ` Kulasek, TomaszX [this message]
2015-12-04 18:03 ` [dpdk-dev] [PATCH v8 0/4] examples: add performance-thread Stephen Hemminger
2015-12-04 18:33 ` Thomas Monjalon
2015-12-05 12:06 ` Betts, Ian
2015-12-05 17:53 ` Glynn, Michael J
2015-12-05 19:47 ` Stephen Hemminger
2015-12-05 21:21 ` Thomas Monjalon
2015-12-06 6:17 ` Betts, Ian
2015-12-04 22:10 ` Betts, Ian
2015-12-03 16:21 ` [dpdk-dev] [PATCH v7 3/4] examples: add l3fwd-thread example in performance-thread Ian Betts
2015-12-03 16:21 ` [dpdk-dev] [PATCH v7 4/4] examples: add pthread_shim example to performance thread Ian Betts
2015-12-03 16:44 ` [dpdk-dev] [PATCH v7 0/4] examples: add performance-thread Kulasek, TomaszX
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3042915272161B4EB253DA4D77EB373A14E22359@IRSMSX102.ger.corp.intel.com \
--to=tomaszx.kulasek@intel.com \
--cc=dev@dpdk.org \
--cc=ian.betts@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).