On 2012-05-31 10:32, Luigi Rizzo wrote:
> On Thu, May 31, 2012 at 10:23 AM, Jan Kiszka <jan.kis...@web.de> wrote:
> 
>> On 2012-05-31 09:38, Paolo Bonzini wrote
>>
> ...
> 
>>
>> This still looks like the wrong tool: Packets that can't be delivered
>> are queued. So we need to flush the queue and clear the blocked delivery
>> there. qemu_flush_queued_packets appears more appropriate for this.
>>
>> Conceptually, the backend should be responsible for kicking the iothread
>> as needed.
>>
>>
> as i understand the code, the backend _is_ the iothread, and it is
> sleeping when the frontend becomes able to receive again.

The backend is a subsystem that can run in the context of the vcpu or
the iothread. The question is in which context which job shall run.
That's something the backend should decide, not the NIC (who should be
agnostic of the I/O architecture - we may have different ones in the
future). Possibly it does make sense to run the flush over a different
context than the vcpu, but let's keep this decision out of the NICs.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to