On 08/25/2012 01:45 PM, Richard Davies wrote:
Are you talking about these patches?
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=c67fe3752abe6ab47639e2f9b836900c3dc3da84
http://marc.info/?l=linux-mm&m=134521289221259
If so, I believe those are in 3.6.0-rc3, so I tested with that.
Unfortunately, I can still get the slow boots and perf top showing
_raw_spin_lock_irqsave.
Here are two perf top traces on 3.6.0-rc3. They do look a bit different from
3.5.2, but _raw_spin_lock_irqsave is still at the top:
PerfTop: 35272 irqs/sec kernel:98.1% exact: 0.0% [4000Hz cycles],
(all, 16 CPUs)
------------------------------------------------------------------------------------------------------------------
61.85% [kernel] [k] _raw_spin_lock_irqsave
7.18% [kernel] [k] sub_preempt_count
5.03% [kernel] [k] isolate_freepages_block
2.49% [kernel] [k] yield_to
2.05% [kernel] [k] memcmp
2.01% [kernel] [k] compact_zone
1.76% [kernel] [k] add_preempt_count
1.52% [kernel] [k] _raw_spin_lock
1.31% [kernel] [k] kvm_vcpu_on_spin
0.92% [kernel] [k] svm_vcpu_run
However, the compaction code is not as prominent as before.
Can you get a backtrace to that _raw_spin_lock_irqsave, to see
from where it is running into lock contention?
It would be good to know whether it is isolate_freepages_block,
yield_to, kvm_vcpu_on_spin or something else...
--
All rights reversed