From: Christoph Hellwig <hch@infradead.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Christoph Hellwig <hch@infradead.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/7] breaking the global file_list_lock
Date: Sun, 28 Jan 2007 20:38:41 +0000 [thread overview]
Message-ID: <20070128203841.GA27397@infradead.org> (raw)
In-Reply-To: <20070128184116.GA12150@elte.hu>
On Sun, Jan 28, 2007 at 07:41:16PM +0100, Ingo Molnar wrote:
> starts one process per CPU and open()s/close()s a file all over again,
> simulating an open/close-intense workload. This pattern is quite typical
> of several key Linux applications.
>
> Using Peter's s_files patchset the following scalability improvement can
> be measured (lower numbers are better):
>
> ----------------------------------------------------------------------
> v2.6.20-rc6 | v2.6.20-rc6+Peter's s_files queue
> ----------------------------------------------------------------------
> dual-core: 2.11 usecs/op | 1.51 usecs/op ( +39.7% win )
> 8-socket: 6.30 usecs/op | 2.70 usecs/op ( +233.3% win )
Thanks for having some numbers to start with.
> Now could you please tell me why i had to waste 3.5 hours on measuring
> and profiling this /again/, while a tiny little bit of goodwill from
> your side could have avoided this? I told you that we lock-profiled this
> under -rt, and that it's an accurate measurement of such things - as the
> numbers above prove it too. Would it have been so hard to say something
> like: "Cool Peter! That lock had been in our way of good open()/close()
> scalability for such a long time and it's an obviously good idea to
> eliminate it. Now here's a couple of suggestions of how to do it even
> simpler: [...]." Why did you have to in essence piss on his patchset?
> Any rational explanation?
Can we please stop this stupid pissing contest. I'm totally fine to admit
yours is bigger than mine in public, so let's get back to the facts.
The patchkit we're discussing here introduces a lot of complexity:
- a new type of implicitly locked linked lists
- a new synchronization primitive
- a new locking scheme that utilizes the previous two items, aswell
as rcu.
I think we definitly we want some numbers (which you finally provided)
to justify this.
Then going on to the implementation I don't like trying to "fix" a problem
with this big hammer approach. I've outlined some alternate ways that
actually simplify both the underlying data structures and locking that
should help towards this problem instead of making the code more complex
and really hard to understand.
next prev parent reply other threads:[~2007-01-28 20:38 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-28 11:51 [PATCH 0/7] breaking the global file_list_lock Peter Zijlstra
2007-01-28 11:51 ` [PATCH 1/7] lockdep: lock_set_subclass - reset a held locks subclass Peter Zijlstra
2007-01-28 11:51 ` [PATCH 3/7] barrier: a scalable synchonisation barrier Peter Zijlstra
2007-01-28 14:39 ` Christoph Hellwig
2007-01-28 15:24 ` Ingo Molnar
2007-01-28 15:34 ` Christoph Hellwig
2007-01-31 19:12 ` Paul E. McKenney
2007-01-31 21:13 ` Oleg Nesterov
2007-01-31 21:30 ` Oleg Nesterov
2007-01-31 21:48 ` Peter Zijlstra
2007-01-31 23:32 ` Paul E. McKenney
2007-02-01 0:03 ` Peter Zijlstra
2007-02-01 0:48 ` Paul E. McKenney
2007-02-01 16:00 ` Oleg Nesterov
2007-02-01 21:38 ` Paul E. McKenney
2007-02-02 11:56 ` Oleg Nesterov
2007-02-02 12:01 ` Peter Zijlstra
2007-02-02 17:13 ` Paul E. McKenney
2007-02-03 16:38 ` Oleg Nesterov
2007-02-04 0:23 ` Paul E. McKenney
2007-02-04 3:24 ` Alan Stern
2007-02-04 5:46 ` Paul E. McKenney
2007-01-28 11:51 ` [PATCH 4/7] fs: break the file_list_lock for sb->s_files Peter Zijlstra
2007-01-28 14:43 ` Christoph Hellwig
2007-01-28 15:21 ` Ingo Molnar
2007-01-28 15:30 ` Christoph Hellwig
2007-01-28 15:32 ` Peter Zijlstra
2007-01-28 15:36 ` Christoph Hellwig
2007-01-28 15:44 ` Ingo Molnar
2007-01-28 16:25 ` Bill Huey
2007-01-28 11:51 ` [PATCH 5/7] fs: restore previous sb->s_files iteration semantics Peter Zijlstra
2007-01-28 11:51 ` [PATCH 6/7] schedule_on_each_cpu_wq() Peter Zijlstra
2007-01-28 11:51 ` [PATCH 7/7] fs: fixup filevec_add_drain_all Peter Zijlstra
2007-01-28 12:16 ` [PATCH 8/7] fs: free_write_pipe() fix Peter Zijlstra
2007-01-28 14:43 ` [PATCH 0/7] breaking the global file_list_lock Christoph Hellwig
2007-01-28 15:11 ` Christoph Hellwig
2007-01-28 15:29 ` Peter Zijlstra
2007-01-28 15:33 ` Christoph Hellwig
2007-01-29 13:32 ` Stephen Smalley
2007-01-29 18:02 ` Christoph Hellwig
2007-01-28 15:24 ` Ingo Molnar
2007-01-28 16:52 ` Martin J. Bligh
2007-01-28 17:04 ` lockmeter Christoph Hellwig
2007-01-28 17:38 ` lockmeter Martin J. Bligh
2007-01-28 18:01 ` lockmeter Bill Huey
2007-01-28 19:26 ` lockmeter Ingo Molnar
2007-01-28 21:17 ` lockmeter Ingo Molnar
2007-01-29 5:27 ` lockmeter Bill Huey
2007-01-29 10:26 ` lockmeter Bill Huey
2007-01-29 1:08 ` lockmeter Arjan van de Ven
2007-01-29 1:12 ` lockmeter Martin J. Bligh
2007-01-28 18:41 ` [PATCH 0/7] breaking the global file_list_lock Ingo Molnar
2007-01-28 20:38 ` Christoph Hellwig [this message]
2007-01-28 21:05 ` Ingo Molnar
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=20070128203841.GA27397@infradead.org \
--to=hch@infradead.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=torvalds@osdl.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