On Tue, May 25, 2010 at 11:44:50PM +0200, Jan Kiszka wrote: > > > >> I think the real solution to coalescing is put the logic inside one > >> device, in this case APIC because it has the information about irq > >> delivery. APIC could monitor incoming RTC irqs for frequency > >> information and whether they get delivered or not. If not, an internal > >> timer is installed which injects the lost irqs. > > That won't fly as the IRQs will already arrive at the APIC with a > sufficiently high jitter. At the bare minimum, you need to tell the > interrupt controller about the fact that a particular IRQ should be > delivered at a specific regular rate. For this, you also need a generic > interface - nothing really "won". > Not only that. Suppose RTC runs with 64Hz frequency and N interrupts were coalesced during some period. Now the guest reprograms RTC to 1024Hz. N should be scaled accordingly otherwise reinjection will not fix the drift. Do you propose to put this logic into APIC to?
-- Gleb.