From: Alexander Gordeev <agordeev@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: Alexander Gordeev <agordeev@redhat.com>,
Kent Overstreet <kmo@daterainc.com>, Jens Axboe <axboe@kernel.dk>,
Shaohua Li <shli@kernel.org>,
Nicholas Bellinger <nab@linux-iscsi.org>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>
Subject: [PATCH RFC 0/2] percpu_ida: Take into account CPU topology when stealing tags
Date: Wed, 26 Mar 2014 14:34:22 +0100 [thread overview]
Message-ID: <cover.1395840483.git.agordeev@redhat.com> (raw)
Hello,
This series is against 3.14.0-rc7.
It is amied to further improve 'percpu_ida' tags locality by taking
into account system's CPU topology when stealing tags. That is try
to steal from a CPU which is 'closest' to the stealing one.
I would not bother to post this, since on several system the change
did not show any improvement, i.e. on such one:
CPU0 attaching sched-domain:
domain 0: span 0,8 level SIBLING
groups: 0 (cpu_power = 588) 8 (cpu_power = 588)
domain 1: span 0-3,8-11 level MC
groups: 0,8 (cpu_power = 1176) 1,9 (cpu_power = 1176) 2,10 (cpu_power = 1176) 3,11 (cpu_power = 1176)
domain 2: span 0-15 level NUMA
groups: 0-3,8-11 (cpu_power = 4704) 4-7,12-15 (cpu_power = 4704)
But other systems (more dense?) showed increased cache-hit rate
up to 20%, i.e. this one:
CPU5 attaching sched-domain:
domain 0: span 0-5 level MC
groups: 5 (cpu_power = 1023) 0 (cpu_power = 1023) 1 (cpu_power = 1023) 2 (cpu_power = 1023) 3 (cpu_power = 1023) 4 (cpu_power = 1023)
domain 1: span 0-7 level NUMA
groups: 0-5 (cpu_power = 6138) 6-7 (cpu_power = 2046)
CPU6 attaching sched-domain:
domain 0: span 6-7 level MC
groups: 6 (cpu_power = 1023) 7 (cpu_power = 1023)
domain 1: span 0-7 level NUMA
groups: 6-7 (cpu_power = 2046) 0-5 (cpu_power = 6138)
I tested using 'null_blk' device with number of threads equal
to the number of CPUs with each thread affined to one CPU and
not affined, with no difference.
Suggestions are welcomed :)
Thanks!
Cc: Kent Overstreet <kmo@daterainc.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Shaohua Li <shli@kernel.org>
Cc: Nicholas Bellinger <nab@linux-iscsi.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Alexander Gordeev (2):
sched: Introduce topology level masks and for_each_tlm() macro
percpu_ida: Use for_each_tlm() macro for CPU lookup in steal_tags()
include/linux/percpu_ida.h | 1 -
include/linux/sched.h | 5 ++
kernel/sched/core.c | 89 ++++++++++++++++++++++++++++++++++++++++++++
lib/percpu_ida.c | 46 +++++++++-------------
4 files changed, 113 insertions(+), 28 deletions(-)
--
1.7.7.6
next reply other threads:[~2014-03-26 13:33 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-26 13:34 Alexander Gordeev [this message]
2014-03-26 13:34 ` [PATCH RFC 1/2] sched: Introduce topology level masks and for_each_tlm() macro Alexander Gordeev
2014-03-26 13:34 ` [PATCH RFC 2/2] percpu_ida: Use for_each_tlm() macro for CPU lookup in steal_tags() Alexander Gordeev
2014-04-22 7:10 ` [PATCH RFC 0/2] percpu_ida: Take into account CPU topology when stealing tags Alexander Gordeev
2014-04-22 14:03 ` Jens Axboe
2014-04-22 15:57 ` Jens Axboe
2014-04-23 0:53 ` Ming Lei
2014-04-23 1:25 ` Jens Axboe
2014-04-25 9:10 ` Ming Lei
2014-04-25 21:23 ` Jens Axboe
2014-04-26 0:01 ` Ming Lei
2014-04-26 2:03 ` Jens Axboe
2014-04-29 11:35 ` Ming Lei
2014-04-29 21:13 ` Jens Axboe
2014-04-30 9:40 ` Ming Lei
2014-05-01 22:47 ` Kent Overstreet
2014-05-02 2:19 ` Jens Axboe
2014-05-02 2:38 ` Kent Overstreet
2014-05-02 2:44 ` Jens Axboe
2014-05-02 5:05 ` Christoph Hellwig
2014-05-02 16:41 ` Jens Axboe
2014-05-02 16:43 ` Christoph Hellwig
2014-05-02 16:56 ` Jens Axboe
2014-04-22 11:56 ` Peter Zijlstra
2014-05-01 21:24 ` Alexander Gordeev
2014-05-01 22:04 ` Alexander Gordeev
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=cover.1395840483.git.agordeev@redhat.com \
--to=agordeev@redhat.com \
--cc=axboe@kernel.dk \
--cc=kmo@daterainc.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nab@linux-iscsi.org \
--cc=peterz@infradead.org \
--cc=shli@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox