Displaying 14 results from an estimated 14 matches for "last_seen_us".
Did you mean:
last_seen_used
2013 Jun 08
7
[virtio-spec PATCH 0/5] Receiving Used Buffers example code: cleanups and an extra mb()
Patches before the last are small cleanups.
In the last patch I'm trying to extract / generalize an idea from Stefan
Hajnoczi's review of my virtio-net driver for OVMF.
Unfortunately I can't find Stefan's email on any mailing list archive
(sourceforge, gmane, mail-archive etc. all have only my response), so
I'll quote it here.
The patch Stefan was reviewing is
2013 Jun 08
7
[virtio-spec PATCH 0/5] Receiving Used Buffers example code: cleanups and an extra mb()
Patches before the last are small cleanups.
In the last patch I'm trying to extract / generalize an idea from Stefan
Hajnoczi's review of my virtio-net driver for OVMF.
Unfortunately I can't find Stefan's email on any mailing list archive
(sourceforge, gmane, mail-archive etc. all have only my response), so
I'll quote it here.
The patch Stefan was reviewing is
2010 Jun 01
3
[PATCHv3 0/2] virtio: put last seen used index into ring itself
Changes from v2: added padding between avail idx and flags,
and changed virtio to only publish used index when callbacks
are enabled.
Here's a rewrite of the original patch with a new layout.
I haven't tested it yet so no idea how this performs, but
I think this addresses the cache bounce issue raised by Avi.
Posting for early flames/comments.
Generally, the Host end of the virtio ring
2010 Jun 01
3
[PATCHv3 0/2] virtio: put last seen used index into ring itself
Changes from v2: added padding between avail idx and flags,
and changed virtio to only publish used index when callbacks
are enabled.
Here's a rewrite of the original patch with a new layout.
I haven't tested it yet so no idea how this performs, but
I think this addresses the cache bounce issue raised by Avi.
Posting for early flames/comments.
Generally, the Host end of the virtio ring
2010 May 26
6
[PATCHv2-RFC 0/2] virtio: put last seen used index into ring itself
Here's a rewrite of the original patch with a new layout.
I haven't tested it yet so no idea how this performs, but
I think this addresses the cache bounce issue raised by Avi.
Posting for early flames/comments.
Generally, the Host end of the virtio ring doesn't need to see where
Guest is up to in consuming the ring. However, to completely understand
what's going on from the
2010 May 26
6
[PATCHv2-RFC 0/2] virtio: put last seen used index into ring itself
Here's a rewrite of the original patch with a new layout.
I haven't tested it yet so no idea how this performs, but
I think this addresses the cache bounce issue raised by Avi.
Posting for early flames/comments.
Generally, the Host end of the virtio ring doesn't need to see where
Guest is up to in consuming the ring. However, to completely understand
what's going on from the
2018 Dec 17
1
kernel vhost demands an interrupt from guest when the ring is full in order to enable guest to submit new packets to the queue
...eware the problem of missing notifications between emptying the ring and reenabling no-
tifications. This is usually handled by re-checking for more used buffers after notifications are re-
enabled:
virtq_disable_used_buffer_notifications(vq);
for (;;) {
if (vq->last_seen_used != le16_to_cpu(virtq->used.idx)) {
virtq_enable_used_buffer_notifications(vq);
mb();
if (vq->last_seen_used != le16_to_cpu(virtq->used.idx))
break;
virtq_disable_used_buffer_notifications(vq);
}
struct virtq_used_elem *e = virtq.used->ri...
2018 Dec 13
2
kernel vhost demands an interrupt from guest when the ring is full in order to enable guest to submit new packets to the queue
Folks,
We came across a memory race condition between VPP vhost driver and the kernel vhost. VPP is running a tap interface over vhost backend. In this case, VPP is acting as the vhost driver mode and the kernel vhost is acting as the vhost device mode.
In the kernel vhost?s TX traffic direction which is VPP?s RX traffic direction, kernel vhost is the producer and VPP is the consumer. Kernel
2018 Dec 13
2
kernel vhost demands an interrupt from guest when the ring is full in order to enable guest to submit new packets to the queue
Folks,
We came across a memory race condition between VPP vhost driver and the kernel vhost. VPP is running a tap interface over vhost backend. In this case, VPP is acting as the vhost driver mode and the kernel vhost is acting as the vhost device mode.
In the kernel vhost?s TX traffic direction which is VPP?s RX traffic direction, kernel vhost is the producer and VPP is the consumer. Kernel
2018 Dec 17
0
kernel vhost demands an interrupt from guest when the ring is full in order to enable guest to submit new packets to the queue
...ng the used
ring, but beware the problem of missing notifications between emptying the ring and reenabling no-
tifications. This is usually handled by re-checking for more used buffers after notifications are re-
enabled:
virtq_disable_used_buffer_notifications(vq);
for (;;) {
if (vq->last_seen_used != le16_to_cpu(virtq->used.idx)) {
virtq_enable_used_buffer_notifications(vq);
mb();
if (vq->last_seen_used != le16_to_cpu(virtq->used.idx))
break;
virtq_disable_used_buffer_notifications(vq);
}
struct virtq_used_elem *e = virtq.used->ring[vq->last_seen_used%vsz...
2011 May 04
1
[PATCHv2] virtio-spec: 64 bit features, used/avail event
...pty condition.
+ This is necessary to handle the case where, after the last check and before
+ enabling interrupts, an interrupt has been suppressed by the device:
+\end_layout
+
+\begin_layout Standard
\begin_inset listings
inline false
status open
\begin_layout Plain Layout
-while (vq->last_seen_used != vring->used.idx) {
+\change_inserted 0 1304342051
+
+vring_disable_interrupts(vq);
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 0 1304341878
+
+for (;;) {
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 0 1304341880
+
+ if
+\change_deleted 0 1304341882
+...
2011 May 04
1
[PATCHv2] virtio-spec: 64 bit features, used/avail event
...pty condition.
+ This is necessary to handle the case where, after the last check and before
+ enabling interrupts, an interrupt has been suppressed by the device:
+\end_layout
+
+\begin_layout Standard
\begin_inset listings
inline false
status open
\begin_layout Plain Layout
-while (vq->last_seen_used != vring->used.idx) {
+\change_inserted 0 1304342051
+
+vring_disable_interrupts(vq);
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 0 1304341878
+
+for (;;) {
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 0 1304341880
+
+ if
+\change_deleted 0 1304341882
+...
2011 Jun 01
3
[PATCHv3] virtio-spec: 64 bit features, used/avail event, fixes
...pty condition.
+ This is necessary to handle the case where, after the last check and before
+ enabling interrupts, an interrupt has been suppressed by the device:
+\end_layout
+
+\begin_layout Standard
\begin_inset listings
inline false
status open
\begin_layout Plain Layout
-while (vq->last_seen_used != vring->used.idx) {
+\change_inserted 1 1304342051
+
+vring_disable_interrupts(vq);
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 1 1304341878
+
+for (;;) {
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 1 1304341880
+
+ if
+\change_deleted 1 1304341882
+...
2011 Jun 01
3
[PATCHv3] virtio-spec: 64 bit features, used/avail event, fixes
...pty condition.
+ This is necessary to handle the case where, after the last check and before
+ enabling interrupts, an interrupt has been suppressed by the device:
+\end_layout
+
+\begin_layout Standard
\begin_inset listings
inline false
status open
\begin_layout Plain Layout
-while (vq->last_seen_used != vring->used.idx) {
+\change_inserted 1 1304342051
+
+vring_disable_interrupts(vq);
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 1 1304341878
+
+for (;;) {
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 1 1304341880
+
+ if
+\change_deleted 1 1304341882
+...