lkml.org 
[lkml]   [2009]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH 00/17] virtual-bus
Gerd Hoffmann wrote:
> Avi Kivity wrote:
>
>> There is no choice. Exiting from the guest to the kernel to userspace
>> is prohibitively expensive, you can't do that on every packet.
>>
>
> I didn't look at virtio-net very closely yet. I wonder why the
> notification is that a big issue though. It is easy to keep the number
> of notifications low without increasing latency:
>
> Check shared ring status when stuffing a request. If there are requests
> not (yet) consumed by the other end there is no need to send a
> notification. That scheme can even span multiple rings (nics with rx
> and tx for example).
>

FWIW: I employ this scheme. The shm-signal construct has a "dirty" and
"pending" flag (all on the same cacheline, which may or may not address
Andi's later point). The first time you dirty the shm, it sets both
flags. The consumer side has to clear "pending" before any subsequent
signals are sent. Normally the consumer side will also clear "enabled"
(as part of the bidir napi thing) to further disable signals.

-Greg



[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2009-04-03 13:29    [W:0.412 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site