From: "Martin J. Bligh" <mbligh@aracnet.com>
To: Andrew Morton <akpm@digeo.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: 2.5.65-mm4
Date: Sun, 23 Mar 2003 19:04:18 -0800 [thread overview]
Message-ID: <9590000.1048475057@[10.10.2.4]> (raw)
In-Reply-To: <20030323020646.0dfcc17b.akpm@digeo.com>
> . Several ext3 speedups here. They reduce the overhead of a write() to
> ext3 by about 45%.
>
> . Large locking changes to ext3. lock_kernel() has been completely
> removed from ext3 and pushed down into the JBD layer, around those bits
> which actually need it.
>
> Lock contention is greatly reduced, but this change means that the
> front-line locking for ext3 is now two semaphores. The context switch
> rate under load has gone through the roof. So there is more work to be
> done here yet.
Well, it shook things up a bit, but doesn't seem to have much effect for
the workload I was looking at, at least:
DISCLAIMER: SPEC(tm) and the benchmark name SDET(tm) are registered
trademarks of the Standard Performance Evaluation Corporation. This
benchmarking was performed for research purposes only, and the run results
are non-compliant and not-comparable with any published results.
Results are shown as percentages of the first set displayed
SDET 1 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 2.0%
2.5.65-mm4 98.9% 1.8%
2.5.65-mm4-ext3 90.4% 4.1%
SDET 2 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 2.3%
2.5.65-mm4 98.3% 3.6%
2.5.65-mm4-ext3 93.4% 3.1%
SDET 4 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 1.3%
2.5.65-mm4 97.8% 0.3%
2.5.65-mm4-ext3 45.5% 7.1%
SDET 8 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 1.0%
2.5.65-mm4 98.7% 1.5%
2.5.65-mm4-ext3 13.7% 3.3%
SDET 16 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 1.0%
2.5.65-mm4 55.2% 57.2%
2.5.65-mm4-ext3 8.4% 2.5%
SDET 32 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 0.5%
2.5.65-mm4 98.2% 0.6%
2.5.65-mm4-ext3 8.5% 3.7%
SDET 64 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 0.4%
2.5.65-mm4 97.7% 0.4%
2.5.65-mm4-ext3 7.9% 2.2%
SDET 128 (see disclaimer)
Throughput Std. Dev
2.5.65-mm3 100.0% 0.6%
2.5.65-mm4 98.0% 0.4%
2.5.65-mm4-ext3 8.3% 1.2%
profile from SDET 64:
82303 __down
42835 schedule
31323 __wake_up
26435 .text.lock.sched
15924 .text.lock.transaction
6470 do_get_write_access
5106 zap_pte_range
4693 copy_page_range
4522 journal_add_journal_head
4491 __blk_queue_bounce
4179 page_remove_rmap
3859 find_get_page
3687 journal_get_write_access
2949 journal_dirty_metadata
2769 cpu_idle
2691 d_lookup
2495 start_this_handle
2220 __copy_to_user_ll
2199 do_anonymous_page
2168 __find_get_block
2069 page_add_rmap
2063 __find_get_block_slow
1842 .text.lock.attr
1650 do_wp_page
1603 ext3_get_inode_loc
1600 release_pages
1405 journal_stop
1237 find_next_usable_block
1233 do_no_page
1224 current_kernel_time
1203 __brelse
1143 ext3_do_update_inode
1083 kmem_cache_free
1030 kmap_atomic
diffprofile with a spinlined version
(still on ext3, should just show who took the locks).
20618 48.1% schedule
6211 96.0% do_get_write_access
4485 609.4% journal_start
3559 253.3% journal_stop
1554 582.0% inode_change_ok
605 1680.6% sem_exit
589 13.0% journal_add_journal_head
421 825.5% proc_pid_readlink
301 13.9% __find_get_block
246 1366.7% sys_ioctl
186 15.0% find_next_usable_block
139 195.8% inode_setattr
122 13.2% atomic_dec_and_lock
...
-101 -9.3% kmem_cache_free
-103 -34.0% journal_forget
-106 -20.7% __make_request
-117 -100.0% .text.lock.root
-118 -5.7% page_add_rmap
-123 -15.2% free_hot_cold_page
-126 -7.6% do_wp_page
-127 -3.0% page_remove_rmap
-130 -17.2% buffered_rmqueue
-133 -5.3% start_this_handle
-149 -24.8% scsi_queue_next_request
-181 -100.0% .text.lock.dec_and_lock
-209 -10.1% __find_get_block_slow
-210 -5.7% journal_get_write_access
-269 -12.1% __copy_to_user_ll
-318 -100.0% .text.lock.ioctl
-383 -8.5% __blk_queue_bounce
-438 -100.0% .text.lock.base
-736 -100.0% .text.lock.sem
-903 -100.0% .text.lock.journal
-1008 -3.2% __wake_up
-1842 -100.0% .text.lock.attr
-3472 -4.2% __down
-14325 -0.6% default_idle
-15908 -99.9% .text.lock.transaction
-26435 -100.0% .text.lock.sched
-30643 -1.2% total
I'll need to put something else together for the semaphores, unless
you already know who's taking them ...
Just for reference, this is the profile from the -mjb1 run with ext3 I did:
22660 .text.lock.inode
2888 .text.lock.namei
2570 .text.lock.sched
2424 .text.lock.attr
860 ext3_prepare_write
498 unmap_all_pages
468 .text.lock.dir
464 ext3_commit_write
448 page_remove_rmap
427 copy_page_range
411 .text.lock.sem
356 schedule
349 __down
302 page_add_rmap
252 find_get_page
252 .text.lock.base
246 d_lookup
225 .text.lock.ioctl
209 __copy_to_user_ll
199 inode_change_ok
196 journal_add_journal_head
187 __wake_up
176 start_this_handle
176 __blk_queue_bounce
175 ext3_setattr
170 do_anonymous_page
156 do_wp_page
145 ext3_dirty_inode
127 __find_get_block
122 ext3_get_block_handle
118 find_next_usable_block
118 do_get_write_access
117 do_no_page
111 ext3_get_inode_loc
107 kmap_atomic
106 do_page_fault
104 __block_prepare_write
101 pte_alloc_one
M.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
next prev parent reply other threads:[~2003-03-24 3:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-23 10:06 2.5.65-mm4 Andrew Morton
2003-03-23 17:55 ` 2.5.65-mm4 Alexander Hoogerhuis
2003-03-23 18:16 ` 2.5.65-mm4 Martin J. Bligh
2003-03-23 20:08 ` 2.5.65-mm4 Martin J. Bligh
2003-03-24 3:04 ` Martin J. Bligh [this message]
2003-03-24 3:17 ` 2.5.65-mm4 Andrew Morton
2003-03-24 4:10 ` 2.5.65-mm4 Martin J. Bligh
2003-03-24 7:02 ` 2.5.65-mm4 Ingo Molnar
2003-03-24 7:17 ` 2.5.65-mm4 Andrew Morton
2003-03-24 7:27 ` 2.5.65-mm4 William Lee Irwin III
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='9590000.1048475057@[10.10.2.4]' \
--to=mbligh@aracnet.com \
--cc=akpm@digeo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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