Clemens Ladisch wrote, on 22/02/11 18:07: > Arthur Marsh wrote: >> I'm experiencing MIDI playback slow-downs when I'm observing kswapd0 >> active (a few percent of cpu in top output) in recent kernels. >> >> I git-bisected the problem down to: >> >> commit 5a03b051ed87e72b959f32a86054e1142ac4cf55 >> Author: Andrea Arcangeli >> Date: Thu Jan 13 15:47:11 2011 -0800 >> >> thp: use compaction in kswapd for GFP_ATOMIC order> 0 >> >> This takes advantage of memory compaction to properly generate pages of >> order> 0 if regular page reclaim fails and priority level becomes more >> severe and we don't reach the proper watermarks. >> >> Signed-off-by: Andrea Arcangeli >> Signed-off-by: Andrew Morton >> Signed-off-by: Linus Torvalds >> >> I ran git-bisect over the weekend, building and installing ALSA 1.0.24 >> with each kernel. After identifying the above commit, I rebuilt the 2.6 >> head with that commit reverted and verified that the problem was no >> longer present. > > Apparently, huge page compaction disables interrupts for much too long. > >> MIDI playback was via aplaymidi -p 17:0 to a Soundblaster Audigy 2 ZS >> (SB0350) wavetable. > > The ALSA sequencer uses either the system timer or an HR timer at 1 kHz > to deliver MIDI commands (notes); the wavetable driver requires its own > interrupts in regular 5.3 ms intervals. > > > Regards, > Clemens > Hi, Andrea Arcangeli's "z1" patch (attached) solved the problem for me, even with significant swap activity. Regards, Arthur.