* probable vm exit latency issue?
@ 2017-12-15 19:36 Joe Buehler
2017-12-15 20:08 ` Konrad Rzeszutek Wilk
[not found] ` <mL8E1w02Z1iuWrx01L8FMi>
0 siblings, 2 replies; 4+ messages in thread
From: Joe Buehler @ 2017-12-15 19:36 UTC (permalink / raw)
To: kvm
I am debugging large latency issues in a realtime KVM instance, trying to make an existing VM (debugged on another type of box) run on an HP proliant now.
cyclictest came up with the following snippet:
kworker/-71 0.....11 13483223us : ata_sff_exec_command <-ata_bmdma_setup
kworker/-71 0.....11 13483228us : ata_sff_sync <-ata_sff_exec_command
kworker/-71 0.....11 13483231us : delay_tsc <-__const_udelay
kworker/-71 0.....11 13483231us*: ata_bmdma_start <-ata_bmdma_qc_issue
kworker/-71 0d....11 13496181us : smp_apic_timer_interrupt <-apic_timer_interrupt
kworker/-71 0d....11 13496181us : irq_enter <-smp_apic_timer_interrupt
kworker/-71 0d....11 13496182us : rcu_irq_enter <-irq_enter
I don't have a lot of experience with this; is this a DMA start for disk I/O, presumably causing an exit from the VM? For almost 13 milliseconds????
I haven't been able to find much obvious about eliminating this -- any suggestions? I set caching to writeback without effect.
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='writeback'/>
<source file='/boot.qcow2'/>
<backingStore type='file' index='1'>
<format type='raw'/>
<source file='/root.qcow2'/>
<backingStore/>
</backingStore>
<target dev='hdb' bus='ide'/>
<alias name='ide0-0-1'/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
Joe Buehler
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: probable vm exit latency issue?
2017-12-15 19:36 probable vm exit latency issue? Joe Buehler
@ 2017-12-15 20:08 ` Konrad Rzeszutek Wilk
[not found] ` <mL8E1w02Z1iuWrx01L8FMi>
1 sibling, 0 replies; 4+ messages in thread
From: Konrad Rzeszutek Wilk @ 2017-12-15 20:08 UTC (permalink / raw)
To: Joe Buehler; +Cc: kvm
On Fri, Dec 15, 2017 at 02:36:56PM -0500, Joe Buehler wrote:
> I am debugging large latency issues in a realtime KVM instance, trying to make an existing VM (debugged on another type of box) run on an HP proliant now.
>
> cyclictest came up with the following snippet:
>
> kworker/-71 0.....11 13483223us : ata_sff_exec_command <-ata_bmdma_setup
> kworker/-71 0.....11 13483228us : ata_sff_sync <-ata_sff_exec_command
> kworker/-71 0.....11 13483231us : delay_tsc <-__const_udelay
> kworker/-71 0.....11 13483231us*: ata_bmdma_start <-ata_bmdma_qc_issue
> kworker/-71 0d....11 13496181us : smp_apic_timer_interrupt <-apic_timer_interrupt
> kworker/-71 0d....11 13496181us : irq_enter <-smp_apic_timer_interrupt
> kworker/-71 0d....11 13496182us : rcu_irq_enter <-irq_enter
>
> I don't have a lot of experience with this; is this a DMA start for disk I/O, presumably causing an exit from the VM? For almost 13 milliseconds????
>
> I haven't been able to find much obvious about eliminating this -- any suggestions? I set caching to writeback without effect.
>
> <disk type='file' device='disk'>
> <driver name='qemu' type='qcow2' cache='writeback'/>
> <source file='/boot.qcow2'/>
> <backingStore type='file' index='1'>
> <format type='raw'/>
> <source file='/root.qcow2'/>
> <backingStore/>
> </backingStore>
> <target dev='hdb' bus='ide'/>
> <alias name='ide0-0-1'/>
> <address type='drive' controller='0' bus='0' target='0' unit='1'/>
> </disk>
Um. Don't use IDE? Use VirtIO.
>
> Joe Buehler
^ permalink raw reply [flat|nested] 4+ messages in thread[parent not found: <mL8E1w02Z1iuWrx01L8FMi>]
* Re: probable vm exit latency issue?
[not found] ` <mL8E1w02Z1iuWrx01L8FMi>
@ 2017-12-15 20:24 ` Joe Buehler
2017-12-15 20:48 ` Joe Buehler
0 siblings, 1 reply; 4+ messages in thread
From: Joe Buehler @ 2017-12-15 20:24 UTC (permalink / raw)
To: Konrad Rzeszutek Wilk; +Cc: kvm
Konrad Rzeszutek Wilk wrote:
> Um. Don't use IDE? Use VirtIO.
I will revert to virtio. It was virtio originally, I changed it to ide since that is what is used on the box the works.
Perhaps the difference between boxes is not the driver but the fact that the working box has an SSD disk and the new box has rotating disks.
To eliminate disk I/O entirely I am trying Ubuntu's "overlayroot". However, I am still getting enormous latency from ata_bmdma_start calls, just nowhere near as often.
Joe Buehler
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: probable vm exit latency issue?
2017-12-15 20:24 ` Joe Buehler
@ 2017-12-15 20:48 ` Joe Buehler
0 siblings, 0 replies; 4+ messages in thread
From: Joe Buehler @ 2017-12-15 20:48 UTC (permalink / raw)
Cc: Konrad Rzeszutek Wilk, kvm
I switched back to virtio for the disk; it has the same issue. It apparently exits the VM via vp_notify(); in the trace I am looking at for almost 8 milliseconds.
I had been thinking in terms of disk writes but of course this could be any disk activity so overlayroot will not solve this. It would seem that I might be looking at an inevitable disk rotation latency, which no host tuning will fix.
Would a second CPU in the VM solve this or does virtio halt the whole VM for disk I/O?
Or perhaps what I really need is to quiesce everything else in the VM to avoid all disk I/O? I suppose I could use a RAM root filesystem -- ugh.
I find it a little puzzling that I have not seen disk I/O mentioned much in the realtime KVM literature I have found on the web.
Joe Buehler
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-12-15 20:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-15 19:36 probable vm exit latency issue? Joe Buehler
2017-12-15 20:08 ` Konrad Rzeszutek Wilk
[not found] ` <mL8E1w02Z1iuWrx01L8FMi>
2017-12-15 20:24 ` Joe Buehler
2017-12-15 20:48 ` Joe Buehler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox