From: Andrew Morton <akpm@zip.com.au>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: page_add/remove_rmap costs
Date: Thu, 25 Jul 2002 00:09:40 -0700 [thread overview]
Message-ID: <3D3FA434.35113F60@zip.com.au> (raw)
In-Reply-To: 20020725045040.GD2907@holomorphy.com
well I tried a few things.
- Disable the pte_chain_lock stuff for uniprocessor
builds.
- Disable the cpu_relax()
- shuffle struct page to put ->flags and ->count next
to each other.
Uniprocessor:
c01c9138 122 0.96649 strnlen_user
c0145860 162 1.28337 __d_lookup
c012c2c4 179 1.41805 rmqueue
c010ba68 180 1.42597 timer_interrupt
c01120ec 190 1.50519 do_page_fault
c013d910 191 1.51311 link_path_walk
c01052c8 219 1.73493 poll_idle
c0132e44 227 1.7983 page_add_rmap
c0122e00 237 1.87753 clear_page_tables
c0111e40 264 2.09142 pte_alloc_one
c0123018 287 2.27363 copy_page_range
c0124324 296 2.34493 do_anonymous_page
c012aa70 471 3.73128 kmem_cache_alloc
c0123224 483 3.82635 zap_pte_range
c01077c4 484 3.83427 page_fault
c0124490 547 4.33336 do_no_page
c012ac5c 560 4.43635 kmem_cache_free
c0132f1c 940 7.44672 page_remove_rmap
c0123cb0 2581 20.4468 do_wp_page
So page_add_rmap went away.
page_remove_rmap:
c0132f8a 1 0.106383 0 0
c0132f8d 1 0.106383 0 0
c0132f93 1 0.106383 0 0
c0132fa4 3 0.319149 0 0
c0132fa7 56 5.95745 0 0 the `for' loop
c0132fa9 2 0.212766 0 0
c0132fab 4 0.425532 0 0
c0132fb0 13 1.38298 0 0
c0132fb3 574 61.0638 0 0 if (pc->ptep == ptep)
c0132fb5 1 0.106383 0 0
c0132fb6 13 1.38298 0 0
c0132fb9 2 0.212766 0 0
c0132fba 4 0.425532 0 0
And the page_remove_rmap cost is now in the list walk.
But the SMP performance is unaltered by these changes.
c0129818 1329 2.42966 do_anonymous_page
c01338dc 1501 2.74411 page_cache_release
c0129a10 2157 3.9434 do_no_page
c0128128 2581 4.71855 copy_page_range
c0128390 2655 4.85384 zap_pte_range
c013a944 4356 7.96358 page_add_rmap
c013aaa0 8423 15.3988 page_remove_rmap
c0128ff8 8457 15.461 do_wp_page
For page_remove_rmap, 32% is the pte_chain_lock, 35%
is the list walk and 12% is the pte_chain_unlock.
--
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/
next prev parent reply other threads:[~2002-07-25 7:09 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-24 6:33 page_add/remove_rmap costs Andrew Morton
2002-07-24 6:48 ` William Lee Irwin III
2002-07-24 16:24 ` Rik van Riel
2002-07-24 20:15 ` Andrew Morton
2002-07-24 20:21 ` Rik van Riel
2002-07-24 20:28 ` Andrew Morton
2002-07-25 2:35 ` Rik van Riel
2002-07-25 3:08 ` William Lee Irwin III
2002-07-25 3:14 ` Martin J. Bligh
2002-07-25 4:21 ` Andrew Morton
2002-07-25 2:45 ` William Lee Irwin III
2002-07-25 4:50 ` William Lee Irwin III
2002-07-25 5:14 ` Andrew Morton
2002-07-25 5:15 ` John Levon
2002-07-25 5:30 ` William Lee Irwin III
2002-07-25 5:47 ` Andrew Morton
2002-07-25 5:42 ` William Lee Irwin III
2002-07-25 5:59 ` Andrew Morton
2002-07-25 7:09 ` Andrew Morton [this message]
2002-07-26 7:33 ` Daniel Phillips
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=3D3FA434.35113F60@zip.com.au \
--to=akpm@zip.com.au \
--cc=linux-mm@kvack.org \
--cc=wli@holomorphy.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 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.