|
From: | Paolo Bonzini |
Subject: | Re: [Qemu-devel] [PATCH v3 6/6] qemu_calculate_timeout: increase minimum timeout to 1h |
Date: | Fri, 10 Feb 2012 09:03:42 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20120131 Thunderbird/10.0 |
On 02/10/2012 01:26 AM, Paul Brook wrote:
The reason we have this is because there are bits of code that rely on polling. IIRC slirp and the floppy DMA engine were the main culprits. qemu_calculate_timeout is an ugly hack to poll at least once a second, allowing the guest to make forward progress when we miss an event.
At least the floppy DMA engine is fine with it, it uses idle bottom halves (which are a hack and could be replaced by timers, but that's not relevant now).
Slirp's timeouts indeed require polling. if (time_fasttimo && ((curtime - time_fasttimo) >= 2)) { tcp_fasttimo(slirp); time_fasttimo = 0; } if (do_slowtimo && ((curtime - last_slowtimo) >= 499)) { ip_slowtimo(slirp); tcp_slowtimo(slirp); last_slowtimo = curtime; } Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |