search for: virtio_f_event_idx

Displaying 20 results from an estimated 23 matches for "virtio_f_event_idx".

2017 Apr 03
2
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
...t; On Sun, Apr 02, 2017 at 04:10:12PM -0400, Willem de Bruijn wrote: >> From: Willem de Bruijn <willemb at google.com> >> >> Amortize the cost of virtual interrupts by doing both rx and tx work >> on reception of a receive interrupt if tx napi is enabled. With >> VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion >> interrupts for bidirectional workloads. >> >> Signed-off-by: Willem de Bruijn <willemb at google.com> >> --- >> drivers/net/virtio_net.c | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >&g...
2017 Apr 03
2
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
...t; On Sun, Apr 02, 2017 at 04:10:12PM -0400, Willem de Bruijn wrote: >> From: Willem de Bruijn <willemb at google.com> >> >> Amortize the cost of virtual interrupts by doing both rx and tx work >> on reception of a receive interrupt if tx napi is enabled. With >> VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion >> interrupts for bidirectional workloads. >> >> Signed-off-by: Willem de Bruijn <willemb at google.com> >> --- >> drivers/net/virtio_net.c | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >&g...
2017 Apr 07
2
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
...Willem de Bruijn wrote: >> >> From: Willem de Bruijn <willemb at google.com> >> >> >> >> Amortize the cost of virtual interrupts by doing both rx and tx work >> >> on reception of a receive interrupt if tx napi is enabled. With >> >> VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion >> >> interrupts for bidirectional workloads. >> >> >> >> Signed-off-by: Willem de Bruijn <willemb at google.com> > > This is a popular approach, but I think this will only work well if tx > and rx inter...
2017 Apr 07
2
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
...Willem de Bruijn wrote: >> >> From: Willem de Bruijn <willemb at google.com> >> >> >> >> Amortize the cost of virtual interrupts by doing both rx and tx work >> >> on reception of a receive interrupt if tx napi is enabled. With >> >> VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion >> >> interrupts for bidirectional workloads. >> >> >> >> Signed-off-by: Willem de Bruijn <willemb at google.com> > > This is a popular approach, but I think this will only work well if tx > and rx inter...
2017 Apr 02
1
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
From: Willem de Bruijn <willemb at google.com> Amortize the cost of virtual interrupts by doing both rx and tx work on reception of a receive interrupt if tx napi is enabled. With VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion interrupts for bidirectional workloads. Signed-off-by: Willem de Bruijn <willemb at google.com> --- drivers/net/virtio_net.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio...
2017 Apr 03
0
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
On Sun, Apr 02, 2017 at 04:10:12PM -0400, Willem de Bruijn wrote: > From: Willem de Bruijn <willemb at google.com> > > Amortize the cost of virtual interrupts by doing both rx and tx work > on reception of a receive interrupt if tx napi is enabled. With > VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion > interrupts for bidirectional workloads. > > Signed-off-by: Willem de Bruijn <willemb at google.com> > --- > drivers/net/virtio_net.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drive...
2017 Apr 07
0
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
...t 04:10:12PM -0400, Willem de Bruijn wrote: > >> From: Willem de Bruijn <willemb at google.com> > >> > >> Amortize the cost of virtual interrupts by doing both rx and tx work > >> on reception of a receive interrupt if tx napi is enabled. With > >> VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion > >> interrupts for bidirectional workloads. > >> > >> Signed-off-by: Willem de Bruijn <willemb at google.com> This is a popular approach, but I think this will only work well if tx and rx interrupts are processed on the...
2017 Apr 07
0
[PATCH net-next 3/3] virtio-net: clean tx descriptors from rx napi
...gt; >> >> From: Willem de Bruijn <willemb at google.com> > >> >> > >> >> Amortize the cost of virtual interrupts by doing both rx and tx work > >> >> on reception of a receive interrupt if tx napi is enabled. With > >> >> VIRTIO_F_EVENT_IDX, this suppresses most explicit tx completion > >> >> interrupts for bidirectional workloads. > >> >> > >> >> Signed-off-by: Willem de Bruijn <willemb at google.com> > > > > This is a popular approach, but I think this will only work wel...
2017 Apr 02
5
[PATCH net-next 0/3] virtio-net tx napi
...s TCP small queues. Reenable TCP small queues by removing the orphan. Instead of using a timer, convert the driver to regular tx napi. This does not have the unresolved stall issue and does not have any frequency to tune. By keeping interrupts enabled by default, napi increases tx interrupt rate. VIRTIO_F_EVENT_IDX avoids sending an interrupt if one is already unacknowledged, so makes this more feasible today. Combine that with an optimization that brings interrupt rate back in line with the existing version for most workloads: Tx completion cleaning on rx interrupts elides most explicit tx interrupts by rel...
2017 Apr 02
5
[PATCH net-next 0/3] virtio-net tx napi
...s TCP small queues. Reenable TCP small queues by removing the orphan. Instead of using a timer, convert the driver to regular tx napi. This does not have the unresolved stall issue and does not have any frequency to tune. By keeping interrupts enabled by default, napi increases tx interrupt rate. VIRTIO_F_EVENT_IDX avoids sending an interrupt if one is already unacknowledged, so makes this more feasible today. Combine that with an optimization that brings interrupt rate back in line with the existing version for most workloads: Tx completion cleaning on rx interrupts elides most explicit tx interrupts by rel...
2017 Apr 24
8
[PATCH net-next v3 0/5] virtio-net tx napi
...s TCP small queues. Reenable TCP small queues by removing the orphan. Instead of using a timer, convert the driver to regular tx napi. This does not have the unresolved stall issue and does not have any frequency to tune. By keeping interrupts enabled by default, napi increases tx interrupt rate. VIRTIO_F_EVENT_IDX avoids sending an interrupt if one is already unacknowledged, so makes this more feasible today. Combine that with an optimization that brings interrupt rate back in line with the existing version for most workloads: Tx completion cleaning on rx interrupts elides most explicit tx interrupts by rel...
2017 Apr 24
8
[PATCH net-next v3 0/5] virtio-net tx napi
...s TCP small queues. Reenable TCP small queues by removing the orphan. Instead of using a timer, convert the driver to regular tx napi. This does not have the unresolved stall issue and does not have any frequency to tune. By keeping interrupts enabled by default, napi increases tx interrupt rate. VIRTIO_F_EVENT_IDX avoids sending an interrupt if one is already unacknowledged, so makes this more feasible today. Combine that with an optimization that brings interrupt rate back in line with the existing version for most workloads: Tx completion cleaning on rx interrupts elides most explicit tx interrupts by rel...
2017 Apr 14
0
repost: af_packet vs virtio (was packed ring layout proposal v2)
...ugh. * Interrupt/event suppression virtio 1.0 has two mechanisms for suppression but only one can be used at a time. we pack them together in a structure - one for interrupts, one for notifications: struct event { __le16 idx; __le16 flags; } Both fields would be optional, with a feature bit: VIRTIO_F_EVENT_IDX VIRTIO_F_EVENT_FLAGS * Flags can be used like in virtio 1.0, by storing a special value there: #define VRING_F_EVENT_ENABLE 0x0 #define VRING_F_EVENT_DISABLE 0x1 * Event index would be in the range 0 to 2 * Queue Size (to detect wrap arounds) and wrap to 0 after that. The assumption is that e...
2017 Apr 14
0
repost: af_packet vs virtio (was packed ring layout proposal v2)
...ugh. * Interrupt/event suppression virtio 1.0 has two mechanisms for suppression but only one can be used at a time. we pack them together in a structure - one for interrupts, one for notifications: struct event { __le16 idx; __le16 flags; } Both fields would be optional, with a feature bit: VIRTIO_F_EVENT_IDX VIRTIO_F_EVENT_FLAGS * Flags can be used like in virtio 1.0, by storing a special value there: #define VRING_F_EVENT_ENABLE 0x0 #define VRING_F_EVENT_DISABLE 0x1 * Event index would be in the range 0 to 2 * Queue Size (to detect wrap arounds) and wrap to 0 after that. The assumption is that e...
2017 Jul 16
1
[virtio-dev] packed ring layout proposal v2
...as two mechanisms for suppression but only > one can be used at a time. we pack them together > in a structure - one for interrupts, one for notifications: > > struct event { > __le16 idx; > __le16 flags; > } > > Both fields would be optional, with a feature bit: > VIRTIO_F_EVENT_IDX > VIRTIO_F_EVENT_FLAGS > > * Flags can be used like in virtio 1.0, by storing a special > value there: > > #define VRING_F_EVENT_ENABLE 0x0 > > #define VRING_F_EVENT_DISABLE 0x1 > > * Event index would be in the range 0 to 2 * Queue Size > (to detect wrap aroun...
2017 Apr 18
8
[PATCH net-next v2 0/5] virtio-net tx napi
...s TCP small queues. Reenable TCP small queues by removing the orphan. Instead of using a timer, convert the driver to regular tx napi. This does not have the unresolved stall issue and does not have any frequency to tune. By keeping interrupts enabled by default, napi increases tx interrupt rate. VIRTIO_F_EVENT_IDX avoids sending an interrupt if one is already unacknowledged, so makes this more feasible today. Combine that with an optimization that brings interrupt rate back in line with the existing version for most workloads: Tx completion cleaning on rx interrupts elides most explicit tx interrupts by rel...
2017 Apr 18
8
[PATCH net-next v2 0/5] virtio-net tx napi
...s TCP small queues. Reenable TCP small queues by removing the orphan. Instead of using a timer, convert the driver to regular tx napi. This does not have the unresolved stall issue and does not have any frequency to tune. By keeping interrupts enabled by default, napi increases tx interrupt rate. VIRTIO_F_EVENT_IDX avoids sending an interrupt if one is already unacknowledged, so makes this more feasible today. Combine that with an optimization that brings interrupt rate back in line with the existing version for most workloads: Tx completion cleaning on rx interrupts elides most explicit tx interrupts by rel...
2017 Jul 19
1
[virtio-dev] packed ring layout proposal v2
...together > > > in a structure - one for interrupts, one for notifications: > > > > > > struct event { > > > __le16 idx; > > > __le16 flags; > > > } > > > > > > Both fields would be optional, with a feature bit: > > > VIRTIO_F_EVENT_IDX > > > VIRTIO_F_EVENT_FLAGS > > > > > > * Flags can be used like in virtio 1.0, by storing a special > > > value there: > > > > > > #define VRING_F_EVENT_ENABLE 0x0 > > > > > > #define VRING_F_EVENT_DISABLE 0x1 > > > &...
2017 Jul 19
1
[virtio-dev] packed ring layout proposal v2
...together > > > in a structure - one for interrupts, one for notifications: > > > > > > struct event { > > > __le16 idx; > > > __le16 flags; > > > } > > > > > > Both fields would be optional, with a feature bit: > > > VIRTIO_F_EVENT_IDX > > > VIRTIO_F_EVENT_FLAGS > > > > > > * Flags can be used like in virtio 1.0, by storing a special > > > value there: > > > > > > #define VRING_F_EVENT_ENABLE 0x0 > > > > > > #define VRING_F_EVENT_DISABLE 0x1 > > > &...
2017 Jul 18
0
[virtio-dev] packed ring layout proposal v2
...t; one can be used at a time. we pack them together > > in a structure - one for interrupts, one for notifications: > > > > struct event { > > __le16 idx; > > __le16 flags; > > } > > > > Both fields would be optional, with a feature bit: > > VIRTIO_F_EVENT_IDX > > VIRTIO_F_EVENT_FLAGS > > > > * Flags can be used like in virtio 1.0, by storing a special > > value there: > > > > #define VRING_F_EVENT_ENABLE 0x0 > > > > #define VRING_F_EVENT_DISABLE 0x1 > > > > * Event index would be in the ra...