DPDK patches and discussions
 help / color / mirror / Atom feed
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>

  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).