[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49D28421.4020308@redhat.com>
Date: Tue, 31 Mar 2009 23:59:13 +0300
From: Avi Kivity <avi@...hat.com>
To: Gregory Haskins <ghaskins@...ell.com>
CC: linux-kernel@...r.kernel.org, agraf@...e.de, pmullaney@...ell.com,
pmorreale@...ell.com, anthony@...emonkey.ws, rusty@...tcorp.com.au,
netdev@...r.kernel.org, kvm@...r.kernel.org
Subject: Re: [RFC PATCH 15/17] kvm: add dynamic IRQ support
Gregory Haskins wrote:
>> Won't this have scaling issues? One IRQ means one target vcpu.
>> Whereas I'd like virtio devices to span multiple queues, each queue
>> with its own MSI IRQ.
>>
> Hmm..you know I hadnt really thought of it that way, but you have a
> point. To clarify, my design actually uses one IRQ per "eventq", where
> we can have an arbitrary number of eventq's defined (note: today I only
> define one eventq, however). An eventq is actually a shm-ring construct
> where I can pass events up to the host like "device added" or "ring X
> signaled". Each individual device based virtio-ring would then
> aggregates "signal" events onto this eventq mechanism to actually inject
> events to the host. Only the eventq itself injects an actual IRQ to the
> assigned vcpu.
>
You will get get cachelines bounced around when events from different
devices are added to the queue. On the plus side, a single injection
can contain interrupts for multiple devices.
I'm not sure how useful this coalescing is; certainly you will never see
it on microbenchmarks, but that doesn't mean it's not useful.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists