All of lore.kernel.org
 help / color / mirror / Atom feed
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: David Marchand <david.marchand@redhat.com>
Cc: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	dev <dev@dpdk.org>,
	 "Ruifeng Wang (Arm Technology China)" <Ruifeng.Wang@arm.com>,
	dpdk stable <stable@dpdk.org>,
	Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
	nd <nd@arm.com>, nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH 0/7] typo, doc, simple fixes and some optimizations
Date: Mon, 21 Oct 2019 19:39:21 +0000	[thread overview]
Message-ID: <VE1PR08MB5149B607AF72856EC07C342F98690@VE1PR08MB5149.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <CAJFAV8wnrWnjgT3ZEf9LrQPxL5iY1YBEV=YuA0TMv3ZFf3XQ7Q@mail.gmail.com>

<snip>

> 
> On Tue, Oct 8, 2019 at 11:12 PM Honnappa Nagarahalli
> <honnappa.nagarahalli@arm.com> wrote:
> >
> > Few typo fixes, some corrections to the documentation and simple fixes
> > to the test cases.
> >
> > The last 2 commits contain simple optimizations with good amount of
> > performance improvements.
> 
> Do you have numbers to illustrate?
Thanks David.
I do not have the numbers for 'least acknowledged token' optimization. The performance test case to test that requires a different design in the performance test cases with additional code. This additional code is nothing but the rte_rcu_qsbr_defer_xxx APIs I am working on. I will be able to publish the numbers with and without this optimization.

I have the performance numbers for the last patch.

Without the patch:
===============
Total RCU updates = 11205362514
Cycles per 1000 updates: 587
Total RCU checks = 20000000
Cycles per 1000 checks: 29946

Perf Test: 12 Readers
Total RCU updates = 1200000000
Cycles per 1000 updates: 425

Perf test: 12 Writers ('wait' in qsbr_check == false)
Total RCU checks = 240000000
Cycles per 1000 checks: 319   <<<<<<<<<============== (see the improvement below)

Perf test: 1 writer, 12 readers, 1 QSBR variable, 1 QSBR Query, Blocking QSBR Check
Following numbers include calls to rte_hash functions
Cycles per 1 update(online/update/offline): 5857
Cycles per 1 check(start, check): 5889

Perf test: 1 writer, 12 readers, 1 QSBR variable, 1 QSBR Query, Non-Blocking QSBR check
Following numbers include calls to rte_hash functions
Cycles per 1 update(online/update/offline): 5859
Cycles per 1 check(start, check): 5891

With patch:
==========
Total RCU updates = 11075332503
Cycles per 1000 updates: 601
Total RCU checks = 20000000
Cycles per 1000 checks: 30265

Perf Test: 12 Readers
Total RCU updates = 1200000000
Cycles per 1000 updates: 425

Perf test: 12 Writers ('wait' in qsbr_check == false)
Total RCU checks = 240000000
Cycles per 1000 checks: 79   <<<<==================  (Improvement)

Perf test: 1 writer, 12 readers, 1 QSBR variable, 1 QSBR Query, Blocking QSBR Check
Following numbers include calls to rte_hash functions
Cycles per 1 update(online/update/offline): 5847
Cycles per 1 check(start, check): 5897

Perf test: 1 writer, 12 readers, 1 QSBR variable, 1 QSBR Query, Non-Blocking QSBR check
Following numbers include calls to rte_hash functions
Cycles per 1 update(online/update/offline): 5851
Cycles per 1 check(start, check): 5894

> 
> >
> > v2:
> >   All instances of size_t fixed (Ruifeng)
> >
> > Honnappa Nagarahalli (7):
> >   doc/rcu: fix typos
> >   doc/rcu: correct the limitation on number of threads
> >   doc/rcu: add information about storing token and resource
> >   test/rcu: use size_t instead of int
> >   test/rcu: use correct nomenclature while printing results
> >   lib/rcu: add least acknowledged token optimization
> >   lib/rcu: update QS only when there are updates from writer
> 
> Series applied, thanks.
> 
> 
> --
> David Marchand


  reply	other threads:[~2019-10-21 19:39 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-08 21:12 [dpdk-dev] [PATCH 0/7] typo, doc, simple fixes and some optimizations Honnappa Nagarahalli
2019-10-08 21:12 ` [dpdk-dev] [PATCH v2 1/7] doc/rcu: fix typos Honnappa Nagarahalli
2019-10-08 21:12 ` [dpdk-dev] [PATCH v2 2/7] doc/rcu: correct the limitation on number of threads Honnappa Nagarahalli
2019-10-08 21:12 ` [dpdk-dev] [PATCH v2 3/7] doc/rcu: add information about storing token and resource Honnappa Nagarahalli
2019-10-08 21:12 ` [dpdk-dev] [PATCH v2 4/7] test/rcu: use size_t instead of int Honnappa Nagarahalli
2019-10-21 19:19   ` David Marchand
2019-10-08 21:12 ` [dpdk-dev] [PATCH v2 5/7] test/rcu: use correct nomenclature while printing results Honnappa Nagarahalli
2019-10-08 21:12 ` [dpdk-dev] [PATCH v2 6/7] lib/rcu: add least acknowledged token optimization Honnappa Nagarahalli
2019-10-08 21:12 ` [dpdk-dev] [PATCH v2 7/7] lib/rcu: update QS only when there are updates from writer Honnappa Nagarahalli
2019-10-18  9:57 ` [dpdk-dev] [PATCH] rcu: fix reference to offline function David Marchand
2019-10-18 13:58   ` Honnappa Nagarahalli
2019-10-21 19:25     ` David Marchand
2019-10-21 19:19 ` [dpdk-dev] [PATCH 0/7] typo, doc, simple fixes and some optimizations David Marchand
2019-10-21 19:39   ` Honnappa Nagarahalli [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-09-08 22:49 Honnappa Nagarahalli

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=VE1PR08MB5149B607AF72856EC07C342F98690@VE1PR08MB5149.eurprd08.prod.outlook.com \
    --to=honnappa.nagarahalli@arm.com \
    --cc=Ruifeng.Wang@arm.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=nd@arm.com \
    --cc=stable@dpdk.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.