Messages in this thread | | | Subject | Re: [PATCH] O11int for interactivity | From | Valdis.Kletnieks@vt ... | Date | Tue, 05 Aug 2003 00:54:10 -0400 |
| |
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....) [unhandled content-type:application/pgp-signature] | |