On Thu, Sep 27, 2012 at 12:01 PM, Paolo Bonzini wrote:
> Il 27/09/2012 02:10, Rusty Russell ha scritto:
>> +do {
>> +virtqueue_disable_cb(vq);
>> +while ((vbr = virtqueue_get_buf(vblk->vq, &len)) !=
>> NULL) {
>> +
On Thu, Sep 27, 2012 at 09:40:03AM +0930, Rusty Russell wrote:
> I forgot about the cool hack which MST put in to defer event updates
> using disable_cb/enable_cb.
I considered sticking some invalid value
in event index on disable but in my testing it did not seem to
give any gain, and knowing act
On 09/28/2012 02:08 PM, Rusty Russell wrote:
> Asias He writes:
>>> I forgot about the cool hack which MST put in to defer event updates
>>> using disable_cb/enable_cb.
>>
>> Hmm, are you talking about virtqueue_enable_cb_delayed()?
>
> Just the fact that virtqueue_disable_cb() prevents updates o
Asias He writes:
>> I forgot about the cool hack which MST put in to defer event updates
>> using disable_cb/enable_cb.
>
> Hmm, are you talking about virtqueue_enable_cb_delayed()?
Just the fact that virtqueue_disable_cb() prevents updates of
used_index, and then we do the update in virtqueue_en
Il 27/09/2012 02:10, Rusty Russell ha scritto:
>>> >> +do {
>>> >> +virtqueue_disable_cb(vq);
>>> >> +while ((vbr = virtqueue_get_buf(vblk->vq, &len)) !=
>>> >> NULL) {
>>> >> +if (vbr->bio) {
>>> >> +v
On 09/27/2012 08:10 AM, Rusty Russell wrote:
> Asias He writes:
>
>> On 09/25/2012 10:36 AM, Asias He wrote:
>>> This reduces unnecessary interrupts that host could send to guest while
>>> guest is in the progress of irq handling.
>>>
>>> If one vcpu is handling the irq, while another interrupt c
Asias He writes:
> On 09/25/2012 10:36 AM, Asias He wrote:
>> This reduces unnecessary interrupts that host could send to guest while
>> guest is in the progress of irq handling.
>>
>> If one vcpu is handling the irq, while another interrupt comes, in
>> handle_edge_irq(), the guest will mask th
On 09/25/2012 10:36 AM, Asias He wrote:
> This reduces unnecessary interrupts that host could send to guest while
> guest is in the progress of irq handling.
>
> If one vcpu is handling the irq, while another interrupt comes, in
> handle_edge_irq(), the guest will mask the interrupt via mask_msi_i
This reduces unnecessary interrupts that host could send to guest while
guest is in the progress of irq handling.
If one vcpu is handling the irq, while another interrupt comes, in
handle_edge_irq(), the guest will mask the interrupt via mask_msi_irq()
which is a very heavy operation that goes all