On Thu, Mar 25, 2010 at 3:10 PM, Avi Kivity <avi@xxxxxxxxxx> wrote: > On 03/25/2010 08:17 PM, Cam Macdonell wrote: >> >>>> I had a hunch it was probably considered. That explains why irqfd >>>> doesn't have a datamatch field. I guess supporting multiple MSI >>>> vectors with one doorbell per guest isn't possible if one 1 bit of >>>> information can be communicated. >>>> >>>> >>> >>> Actually you can have one doorbell supporting multiple vectors and >>> guests, >>> simply divide the data value into two bit fields, one for the vector and >>> one >>> for the guest. A single write gets both values into the host, which can >>> then use datamatch to trigger the correct eventfd (which is wired to an >>> irqfd in another guest). >>> >> >> At 4-bits per guest, a single write is then limited to 8 guests (with >> 32-bit registers), we could got to 64-bit. >> > > I meant a unicast doorbell: 16 bits for guest ID, 16 bits for vector number. Ah, yes. Who knew "two bit registers" is an ambiguous term. Do you strongly prefer the one doorbell design? -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html