From: Wu Fengguang <fengguang.wu@intel.com>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Andrew Morton <akpm@linux-foundation.org>,
Rik van Riel <riel@redhat.com>,
Hugh Dickins <hugh.dickins@tiscali.org.uk>,
Andi Kleen <andi@firstfloor.org>,
Minchan Kim <minchan.kim@gmail.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [patch v3] swap: virtual swap readahead
Date: Fri, 19 Jun 2009 11:17:21 +0800 [thread overview]
Message-ID: <20090619031721.GA7894@localhost> (raw)
In-Reply-To: <20090618130934.GA3070@cmpxchg.org>
[-- Attachment #1: Type: text/plain, Size: 6185 bytes --]
On Thu, Jun 18, 2009 at 09:09:34PM +0800, Johannes Weiner wrote:
> On Thu, Jun 18, 2009 at 05:29:47PM +0800, Wu Fengguang wrote:
> > Johannes,
> >
> > On Thu, Jun 18, 2009 at 06:41:49AM +0800, Johannes Weiner wrote:
> > > On Thu, Jun 11, 2009 at 02:31:22PM +0900, KAMEZAWA Hiroyuki wrote:
> > > > On Tue, 9 Jun 2009 21:01:28 +0200
> > > > Johannes Weiner <hannes@cmpxchg.org> wrote:
> > > > > [resend with lists cc'd, sorry]
> > > > >
> > > > > +static int swap_readahead_ptes(struct mm_struct *mm,
> >
> > I suspect the previous unfavorable results are due to comparing things
> > with/without the drm vmalloc patch. So I spent one day redo the whole
> > comparisons. The swap readahead patch shows neither big improvements
> > nor big degradations this time.
>
> Thanks again! Nice. So according to this, vswapra doesn't increase
> other IO latency (much) but boosts ongoing swap loads (quite some) (as
> qsbench showed). Is that a result or what! :)
>
> I will see how the tests described in the other mail work out.
And here are the /proc/vmstat contents after each test run :)
The pswpin number goes down radically in case (c) which seems
illogical.
pgpgin 8898235 pgpgin 4828771 pgpgin 1807731
pgpgout 1806868 pgpgout 1463644 pgpgout 1382244
==> pswpin 2222503 pswpin 1205137 pswpin 449877
pswpout 451716 pswpout 365910 pswpout 345560
pgalloc_dma 39883 pgalloc_dma 24343 pgalloc_dma 3547
pgalloc_dma32 11918819 pgalloc_dma32 6810775 pgalloc_dma32 6387602
pgalloc_normal 0 pgalloc_normal 0 pgalloc_normal 0
pgalloc_movable 0 pgalloc_movable 0 pgalloc_movable 0
pgfree 11961651 pgfree 6837658 pgfree 6396229
pgactivate 5771012 pgactivate 2999101 pgactivate 2341219
pgdeactivate 5909300 pgdeactivate 3140474 pgdeactivate 2481319
pgfault 4536082 pgfault 3468555 pgfault 3589046
==> pgmajfault 926383 pgmajfault 506265 pgmajfault 520010
Thanks,
Fengguang
> > Base kernel is 2.6.30-rc8-mm1 with drm vmalloc patch.
> >
> > a) base kernel
> > b) base kernel + VM_EXEC protection
> > c) base kernel + VM_EXEC protection + swap readahead
> >
> > (a) (b) (c)
> > 0.02 0.02 0.01 N xeyes
> > 0.78 0.92 0.77 N firefox
> > 2.03 2.20 1.97 N nautilus
> > 3.27 3.35 3.39 N nautilus --browser
> > 5.10 5.28 4.99 N gthumb
> > 6.74 7.06 6.64 N gedit
> > 8.70 8.82 8.47 N xpdf /usr/share/doc/shared-mime-info/shared-mime-info-spec.pdf
> > 11.05 10.95 10.94 N
> > 13.03 12.72 12.79 N xterm
> > 15.46 15.09 15.10 N mlterm
> > 18.05 17.31 17.51 N gnome-terminal
> > 20.59 19.90 19.98 N urxvt
> > 23.45 22.82 22.67 N
> > 25.74 25.16 24.96 N gnome-system-monitor
> > 28.87 27.53 27.89 N gnome-help
> > 32.37 31.17 31.89 N gnome-dictionary
> > 36.60 35.18 35.16 N
> > 39.76 38.04 37.64 N /usr/games/sol
> > 43.05 42.17 40.33 N /usr/games/gnometris
> > 47.70 47.08 43.48 N /usr/games/gnect
> > 51.64 50.46 47.24 N /usr/games/gtali
> > 56.26 54.58 50.83 N /usr/games/iagno
> > 60.36 58.01 55.15 N /usr/games/gnotravex
> > 65.79 62.92 59.28 N /usr/games/mahjongg
> > 71.59 67.36 65.95 N /usr/games/gnome-sudoku
> > 78.57 72.32 72.60 N /usr/games/glines
> > 84.25 80.03 77.42 N /usr/games/glchess
> > 90.65 88.11 83.66 N /usr/games/gnomine
> > 97.75 95.13 89.38 N /usr/games/gnotski
> > 102.99 101.59 95.05 N /usr/games/gnibbles
> > 110.68 112.05 109.40 N /usr/games/gnobots2
> > 117.23 121.58 120.05 N /usr/games/blackjack
> > 125.15 133.59 130.91 N /usr/games/same-gnome
> > 134.05 151.99 148.91 N
> > 142.57 162.67 165.00 N /usr/bin/gnome-window-properties
> > 156.29 174.54 183.84 N /usr/bin/gnome-default-applications-properties
> > 168.37 190.38 200.99 N /usr/bin/gnome-at-properties
> > 184.80 209.41 230.82 N /usr/bin/gnome-typing-monitor
> > 202.05 226.52 250.02 N /usr/bin/gnome-at-visual
> > 217.60 243.76 272.91 N /usr/bin/gnome-sound-properties
> > 239.78 266.47 308.74 N /usr/bin/gnome-at-mobility
> > 255.23 285.42 338.51 N /usr/bin/gnome-keybinding-properties
> > 276.85 314.84 374.64 N /usr/bin/gnome-about-me
> > 308.51 355.95 419.78 N /usr/bin/gnome-display-properties
> > 341.27 401.22 463.55 N /usr/bin/gnome-network-preferences
> > 393.42 451.27 517.24 N /usr/bin/gnome-mouse-properties
> > 438.48 510.54 574.64 N /usr/bin/gnome-appearance-properties
> > 616.09 671.44 760.49 N /usr/bin/gnome-control-center
> > 879.69 879.45 918.87 N /usr/bin/gnome-keyboard-properties
> > 1159.47 1076.29 1071.65 N
> > 1701.82 1240.47 1280.77 N : oocalc
> > 1921.14 1446.95 1451.82 N : oodraw
> > 2262.40 1572.95 1698.37 N : ooimpress
> > 2703.88 1714.53 1841.89 N : oomath
> > 3464.54 1864.99 1983.96 N : ooweb
> > 4040.91 2079.96 2185.53 N : oowriter
> > 4668.16 2330.24 2365.17 N
> >
> > Thanks,
> > Fengguang
> >
[-- Attachment #2: vmstat.0 --]
[-- Type: text/plain, Size: 1444 bytes --]
nr_free_pages 2774
nr_inactive_anon 49669
nr_active_anon 37887
nr_inactive_file 1943
nr_active_file 1432
nr_unevictable 4
nr_mlock 4
nr_anon_pages 33433
nr_mapped 3748
nr_file_pages 63113
nr_dirty 0
nr_writeback 14
nr_slab_reclaimable 3067
nr_slab_unreclaimable 11016
nr_page_table_pages 7733
nr_unstable 0
nr_bounce 0
nr_vmscan_write 452422
nr_writeback_temp 0
numa_hit 11905133
numa_miss 0
numa_foreign 0
numa_interleave 1719
numa_local 11905133
numa_other 0
pgpgin 8898235
pgpgout 1806868
pswpin 2222503
pswpout 451716
pgalloc_dma 39883
pgalloc_dma32 11918819
pgalloc_normal 0
pgalloc_movable 0
pgfree 11961651
pgactivate 5771012
pgdeactivate 5909300
pgfault 4536082
pgmajfault 926383
pgrefill_dma 3358
pgrefill_dma32 327639
pgrefill_normal 0
pgrefill_movable 0
pgsteal_dma 4163
pgsteal_dma32 9004008
pgsteal_normal 0
pgsteal_movable 0
pgscan_kswapd_dma 14283579
pgscan_kswapd_dma32 440003821
pgscan_kswapd_normal 0
pgscan_kswapd_movable 0
pgscan_direct_dma 2518976
pgscan_direct_dma32 85187744
pgscan_direct_normal 0
pgscan_direct_movable 0
pginodesteal 4578
slabs_scanned 567936
kswapd_steal 8653718
kswapd_inodesteal 11378
pageoutrun 154601
allocstall 7487
pgrotated 438820
htlb_buddy_alloc_success 0
htlb_buddy_alloc_fail 0
unevictable_pgs_culled 0
unevictable_pgs_scanned 0
unevictable_pgs_rescued 0
unevictable_pgs_mlocked 4
unevictable_pgs_munlocked 0
unevictable_pgs_cleared 0
unevictable_pgs_stranded 0
unevictable_pgs_mlockfreed 0
[-- Attachment #3: vmstat.1 --]
[-- Type: text/plain, Size: 1437 bytes --]
nr_free_pages 2441
nr_inactive_anon 48016
nr_active_anon 38622
nr_inactive_file 3402
nr_active_file 1641
nr_unevictable 4
nr_mlock 4
nr_anon_pages 34731
nr_mapped 3599
nr_file_pages 62566
nr_dirty 0
nr_writeback 2
nr_slab_reclaimable 3091
nr_slab_unreclaimable 10664
nr_page_table_pages 7769
nr_unstable 0
nr_bounce 0
nr_vmscan_write 366662
nr_writeback_temp 0
numa_hit 6789271
numa_miss 0
numa_foreign 0
numa_interleave 1719
numa_local 6789271
numa_other 0
pgpgin 4828771
pgpgout 1463644
pswpin 1205137
pswpout 365910
pgalloc_dma 24343
pgalloc_dma32 6810775
pgalloc_normal 0
pgalloc_movable 0
pgfree 6837658
pgactivate 2999101
pgdeactivate 3140474
pgfault 3468555
pgmajfault 506265
pgrefill_dma 2336
pgrefill_dma32 729107
pgrefill_normal 0
pgrefill_movable 0
pgsteal_dma 1913
pgsteal_dma32 4357494
pgsteal_normal 0
pgsteal_movable 0
pgscan_kswapd_dma 6712845
pgscan_kswapd_dma32 286604714
pgscan_kswapd_normal 0
pgscan_kswapd_movable 0
pgscan_direct_dma 1341301
pgscan_direct_dma32 59422832
pgscan_direct_normal 0
pgscan_direct_movable 0
pginodesteal 4612
slabs_scanned 575616
kswapd_steal 4132786
kswapd_inodesteal 13238
pageoutrun 68758
allocstall 4576
pgrotated 359071
htlb_buddy_alloc_success 0
htlb_buddy_alloc_fail 0
unevictable_pgs_culled 0
unevictable_pgs_scanned 0
unevictable_pgs_rescued 0
unevictable_pgs_mlocked 4
unevictable_pgs_munlocked 0
unevictable_pgs_cleared 0
unevictable_pgs_stranded 0
unevictable_pgs_mlockfreed 0
[-- Attachment #4: vmstat.2 --]
[-- Type: text/plain, Size: 1429 bytes --]
nr_free_pages 5027
nr_inactive_anon 45647
nr_active_anon 39133
nr_inactive_file 2213
nr_active_file 2204
nr_unevictable 4
nr_mlock 4
nr_anon_pages 34044
nr_mapped 4110
nr_file_pages 60736
nr_dirty 0
nr_writeback 2
nr_slab_reclaimable 3024
nr_slab_unreclaimable 10694
nr_page_table_pages 7737
nr_unstable 0
nr_bounce 0
nr_vmscan_write 346130
nr_writeback_temp 0
numa_hit 6348796
numa_miss 0
numa_foreign 0
numa_interleave 1719
numa_local 6348796
numa_other 0
pgpgin 1807731
pgpgout 1382244
pswpin 449877
pswpout 345560
pgalloc_dma 3547
pgalloc_dma32 6387602
pgalloc_normal 0
pgalloc_movable 0
pgfree 6396229
pgactivate 2341219
pgdeactivate 2481319
pgfault 3589046
pgmajfault 520010
pgrefill_dma 1760
pgrefill_dma32 704673
pgrefill_normal 0
pgrefill_movable 0
pgsteal_dma 0
pgsteal_dma32 3801681
pgsteal_normal 0
pgsteal_movable 0
pgscan_kswapd_dma 9155325
pgscan_kswapd_dma32 225882967
pgscan_kswapd_normal 0
pgscan_kswapd_movable 0
pgscan_direct_dma 89949
pgscan_direct_dma32 2499274
pgscan_direct_normal 0
pgscan_direct_movable 0
pginodesteal 3410
slabs_scanned 544000
kswapd_steal 3618518
kswapd_inodesteal 11438
pageoutrun 59774
allocstall 4014
pgrotated 326236
htlb_buddy_alloc_success 0
htlb_buddy_alloc_fail 0
unevictable_pgs_culled 0
unevictable_pgs_scanned 0
unevictable_pgs_rescued 0
unevictable_pgs_mlocked 4
unevictable_pgs_munlocked 0
unevictable_pgs_cleared 0
unevictable_pgs_stranded 0
unevictable_pgs_mlockfreed 0
prev parent reply other threads:[~2009-06-19 3:17 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-09 19:01 [patch v3] swap: virtual swap readahead Johannes Weiner
2009-06-09 19:01 ` Johannes Weiner
2009-06-09 19:37 ` Johannes Weiner
2009-06-09 19:37 ` Johannes Weiner
2009-06-10 5:03 ` Wu Fengguang
2009-06-10 5:03 ` Wu Fengguang
2009-06-10 7:45 ` Johannes Weiner
2009-06-10 7:45 ` Johannes Weiner
2009-06-10 8:11 ` Wu Fengguang
2009-06-10 8:11 ` Wu Fengguang
2009-06-10 8:32 ` KAMEZAWA Hiroyuki
2009-06-10 8:32 ` KAMEZAWA Hiroyuki
2009-06-10 8:56 ` Wu Fengguang
2009-06-10 8:56 ` Wu Fengguang
2009-06-10 9:42 ` Peter Zijlstra
2009-06-10 9:42 ` Peter Zijlstra
2009-06-10 9:59 ` Wu Fengguang
2009-06-10 9:59 ` Wu Fengguang
2009-06-10 10:05 ` Peter Zijlstra
2009-06-10 10:05 ` Peter Zijlstra
2009-06-10 11:32 ` Wu Fengguang
2009-06-10 11:32 ` Wu Fengguang
2009-06-10 17:25 ` Jesse Barnes
2009-06-10 17:25 ` Jesse Barnes
2009-06-11 5:22 ` Wu Fengguang
2009-06-11 5:22 ` Wu Fengguang
2009-06-11 10:17 ` Johannes Weiner
2009-06-11 10:17 ` Johannes Weiner
2009-06-12 1:59 ` Wu Fengguang
2009-06-12 1:59 ` Wu Fengguang
2009-06-15 18:22 ` Johannes Weiner
2009-06-15 18:22 ` Johannes Weiner
2009-06-18 9:19 ` Wu Fengguang
2009-06-18 9:19 ` Wu Fengguang
2009-06-18 13:01 ` Johannes Weiner
2009-06-18 13:01 ` Johannes Weiner
2009-06-19 3:30 ` Wu Fengguang
2009-06-19 3:30 ` Wu Fengguang
2009-06-21 18:07 ` Hugh Dickins
2009-06-21 18:07 ` Hugh Dickins
2009-06-21 18:37 ` Johannes Weiner
2009-06-21 18:37 ` Johannes Weiner
2009-06-10 9:30 ` Johannes Weiner
2009-06-10 9:30 ` Johannes Weiner
2009-06-10 6:39 ` KAMEZAWA Hiroyuki
2009-06-10 6:39 ` KAMEZAWA Hiroyuki
2009-06-11 5:31 ` KAMEZAWA Hiroyuki
2009-06-11 5:31 ` KAMEZAWA Hiroyuki
2009-06-17 22:41 ` Johannes Weiner
2009-06-17 22:41 ` Johannes Weiner
2009-06-18 9:29 ` Wu Fengguang
2009-06-18 9:29 ` Wu Fengguang
2009-06-18 13:09 ` Johannes Weiner
2009-06-18 13:09 ` Johannes Weiner
2009-06-19 3:17 ` Wu Fengguang [this message]
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=20090619031721.GA7894@localhost \
--to=fengguang.wu@intel.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=hannes@cmpxchg.org \
--cc=hugh.dickins@tiscali.org.uk \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan.kim@gmail.com \
--cc=riel@redhat.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.