On Tue, 05 Aug 2003 13:38:34 +1000, Nick Piggin said:
> Of course some minimum read _latency_ would be required: this
> could actually be done easily with strace come to think of it.
>
> Maybe some xmms mapped memory is being swapped out? But that
> would be more of a VM problem.
I was seeing some CPU-related pauses, but once Con's work got to O7 or so,
those disappeared. I'm *quite* convinced that the remaining glitches
are VM related, mostly because every glitch seems to be associated with
an increase in the 'pswpout' field in /proc/vmstat (yes, I tested with stuff like
"for (;;) do cat /proc/vmstat; sleep 1 done;".
The *odd* part is that the pgpgin, pgpgout, and pswpin numbers do *NOT*
seem to be correlated. High I/O loads from read/write don't seem to cause
a problem - untarring the Linux distro won't do it, running badblocks won't do it.
But if somebody has to swap out, all hell breaks loose...
Hmm.. looking at mm/page_io.c, it seems swap_writepage() calls get_swap_bio
with GFP_NOIO, while readdpage() uses GFP_KERNEL. I wonder if that GFP_NOIO is
causing ugliness - that's really __GFP_WAIT, and the comments in bio_alloc() are
pretty clear that it can block. And remember we're not getting into this code unless
we're already under memory pressure....
(And if somebody tells me how to instrument a -test2-mm4 kernel so I can tell if
I'm on crack or not, I'll happily do so....)
This archive was generated by hypermail 2b29 : Thu Aug 07 2003 - 22:00:27 EST