From: Rik van Riel <riel@redhat.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
linux-kernel@vger.kernel.org, aquini@redhat.com,
walken@google.com, lwoodman@redhat.com, jeremy@goop.org,
Jan Beulich <JBeulich@novell.com>,
Thomas Gleixner <tglx@linutronix.de>,
Tom Herbert <therbert@google.com>
Subject: Re: [RFC PATCH 3/3 -v2] x86,smp: auto tune spinlock backoff delay factor
Date: Wed, 26 Dec 2012 14:51:13 -0500 [thread overview]
Message-ID: <50DB5531.90500@redhat.com> (raw)
In-Reply-To: <1356549008.20133.20856.camel@edumazet-glaptop>
On 12/26/2012 02:10 PM, Eric Dumazet wrote:
> I did some tests with your patches with following configuration :
>
> tc qdisc add dev eth0 root htb r2q 1000 default 3
> (to force a contention on qdisc lock, even with a multi queue net
> device)
>
> and 24 concurrent "netperf -t UDP_STREAM -H other_machine -- -m 128"
>
> Machine : 2 Intel(R) Xeon(R) CPU X5660 @ 2.80GHz
> (24 threads), and a fast NIC (10Gbps)
>
> Resulting in a 13 % regression (676 Mbits -> 595 Mbits)
>
> In this workload we have at least two contended spinlocks, with
> different delays. (spinlocks are not held for the same duration)
>
> It clearly defeats your assumption of a single per cpu delay being OK :
> Some cpus are spinning too long while the lock was released.
Thank you for breaking my patches.
I had been thinking about ways to deal with multiple
spinlocks, and hoping there would not be a serious
issue with systems contending on multiple locks.
> We might try to use a hash on lock address, and an array of 16 different
> delays so that different spinlocks have a chance of not sharing the same
> delay.
>
> With following patch, I get 982 Mbits/s with same bench, so an increase
> of 45 % instead of a 13 % regression.
Thank you even more for fixing my patches :)
That is a huge win!
Could I have your Signed-off-by: line, so I can merge
your hashed spinlock slots in?
I will probably keep it as a separate patch 4/4, with
your report and performance numbers in it, to preserve
the reason why we keep multiple hashed values, etc...
There is enough stuff in this code that will be
indishinguishable from magic if we do not document it
properly...
--
All rights reversed
next prev parent reply other threads:[~2012-12-26 19:51 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-21 23:49 [RFC PATCH 0/3] x86,smp: make ticket spinlock proportional backoff w/ auto tuning Rik van Riel
2012-12-21 23:50 ` [RFC PATCH 1/3] x86,smp: move waiting on contended lock out of line Rik van Riel
2012-12-22 3:05 ` Steven Rostedt
2012-12-22 4:40 ` Michel Lespinasse
2012-12-22 4:48 ` Rik van Riel
2012-12-23 22:52 ` Rafael Aquini
2012-12-21 23:51 ` [RFC PATCH 2/3] x86,smp: proportional backoff for ticket spinlocks Rik van Riel
2012-12-22 3:07 ` Steven Rostedt
2012-12-22 3:14 ` Steven Rostedt
2012-12-22 3:47 ` Rik van Riel
2012-12-22 4:44 ` Michel Lespinasse
2012-12-23 22:55 ` Rafael Aquini
2012-12-21 23:51 ` [RFC PATCH 3/3] x86,smp: auto tune spinlock backoff delay factor Rik van Riel
2012-12-21 23:56 ` [RFC PATCH 3/3 -v2] " Rik van Riel
2012-12-22 0:18 ` Eric Dumazet
2012-12-22 2:43 ` Rik van Riel
2012-12-22 0:48 ` Eric Dumazet
2012-12-22 2:57 ` Rik van Riel
2012-12-22 3:29 ` Eric Dumazet
2012-12-22 3:44 ` Rik van Riel
2012-12-22 3:33 ` Steven Rostedt
2012-12-22 3:50 ` Rik van Riel
2012-12-26 19:10 ` Eric Dumazet
2012-12-26 19:27 ` Eric Dumazet
2012-12-26 19:51 ` Rik van Riel [this message]
2012-12-27 6:07 ` Michel Lespinasse
2012-12-27 14:27 ` Eric Dumazet
2012-12-27 14:35 ` Rik van Riel
2012-12-27 18:41 ` Jan Beulich
2012-12-27 19:09 ` Rik van Riel
2013-01-03 9:05 ` Jan Beulich
2013-01-03 13:24 ` Steven Rostedt
2013-01-03 13:35 ` Eric Dumazet
2013-01-03 15:32 ` Steven Rostedt
2013-01-03 16:10 ` Eric Dumazet
2013-01-03 16:45 ` Steven Rostedt
2013-01-03 17:54 ` Eric Dumazet
2012-12-27 18:49 ` Eric Dumazet
2012-12-27 19:31 ` Rik van Riel
2012-12-29 0:42 ` Eric Dumazet
2012-12-29 10:27 ` Michel Lespinasse
2013-01-03 18:17 ` Eric Dumazet
2012-12-22 0:47 ` [RFC PATCH 3/3] " David Daney
2012-12-22 2:51 ` Rik van Riel
2012-12-22 3:49 ` Steven Rostedt
2012-12-22 3:58 ` Rik van Riel
2012-12-23 23:08 ` Rafael Aquini
2012-12-22 5:42 ` Michel Lespinasse
2012-12-22 14:32 ` Rik van Riel
2013-01-02 0:06 ` ticket spinlock proportional backoff experiments Michel Lespinasse
2013-01-02 0:09 ` [PATCH 1/2] x86,smp: simplify __ticket_spin_lock Michel Lespinasse
2013-01-02 15:31 ` Rik van Riel
2013-01-02 0:10 ` [PATCH 2/2] x86,smp: proportional backoff for ticket spinlocks Michel Lespinasse
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=50DB5531.90500@redhat.com \
--to=riel@redhat.com \
--cc=JBeulich@novell.com \
--cc=aquini@redhat.com \
--cc=eric.dumazet@gmail.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lwoodman@redhat.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=therbert@google.com \
--cc=walken@google.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).