[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

it gets slower



After doing a huge amount of disk I/O the other day I noted
that a subsequent full kernel build took *ages*. I haven't
been able to reproduce the full extent of this, but..

Doing a build after boot takes 320 seconds.  After
copying two kernel trees and diffing them, an identical
full build takes 336 seconds.  Profiling each build says:

Before:

c01120b0 do_page_fault                              1453   1.2440
c0271a00 __generic_copy_to_user                     1741  29.0167
c0122c6c do_wp_page                                 1895   2.9609
c012da88 rmqueue                                    2245   3.7922
c0271a3c __generic_copy_from_user                   3593  59.8833
c01260f0 file_read_actor                            4490  41.5741
c0123388 do_anonymous_page                         11121  89.6855
c01071c0 default_idle                              21741 418.0962
00000000 total                                     71684   0.0469

After:

c0271a00 __generic_copy_to_user                     1696  28.2667
c0122c6c do_wp_page                                 1865   2.9141
c012da88 rmqueue                                    2226   3.7601
c0271a3c __generic_copy_from_user                   3584  59.7333
c01260f0 file_read_actor                            4529  41.9352
c0123388 do_anonymous_page                         11324  91.3226
c01071c0 default_idle                              34807 669.3654
00000000 total                                     90069   0.0590

This is a 1kHz profile, so we've spent an extra 13 seconds in
default_idle.  Doing I/O, presumably.  256 meg dual Celeron.

Why?



Also, we spent 12 seconds in do_anonymous_page and do_wp_page
madly memsetting.  Has anyone tried prezeroing some pages in
default_idle(), so they're ready to go?

Yes, I know it'll probably be cachely disadvantageous,
but has anyone actually tried and measured it?
--
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.eu.org/Linux-MM/