search for: empty_ring

Displaying 12 results from an estimated 12 matches for "empty_ring".

2019 Apr 26
2
[PATCH net] vhost_net: fix possible infinite loop
....a0f89a504cd9 100644 > --- a/drivers/vhost/net.c > +++ b/drivers/vhost/net.c > @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct vhost_net_virtqueue *nvq, > return 0; > } > > +/* Returns true if caller needs to go back and re-read the ring. */ > +static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue *vq, > + int pkts, size_t total_len, bool busyloop_intr) > +{ > + if (unlikely(busyloop_intr)) { > + vhost_poll_queue(&vq->poll); > + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) { > + /* They have s...
2019 Apr 26
2
[PATCH net] vhost_net: fix possible infinite loop
....a0f89a504cd9 100644 > --- a/drivers/vhost/net.c > +++ b/drivers/vhost/net.c > @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct vhost_net_virtqueue *nvq, > return 0; > } > > +/* Returns true if caller needs to go back and re-read the ring. */ > +static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue *vq, > + int pkts, size_t total_len, bool busyloop_intr) > +{ > + if (unlikely(busyloop_intr)) { > + vhost_poll_queue(&vq->poll); > + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) { > + /* They have s...
2019 May 12
2
[PATCH net] vhost_net: fix possible infinite loop
.../drivers/vhost/net.c > > > @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct > > > vhost_net_virtqueue *nvq, > > > ????? return 0; > > > ? } > > > ? +/* Returns true if caller needs to go back and re-read the ring. */ > > > +static bool empty_ring(struct vhost_net *net, struct > > > vhost_virtqueue *vq, > > > +?????????????? int pkts, size_t total_len, bool busyloop_intr) > > > +{ > > > +??? if (unlikely(busyloop_intr)) { > > > +??????? vhost_poll_queue(&vq->poll); > > > +??? } els...
2019 May 12
2
[PATCH net] vhost_net: fix possible infinite loop
.../drivers/vhost/net.c > > > @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct > > > vhost_net_virtqueue *nvq, > > > ????? return 0; > > > ? } > > > ? +/* Returns true if caller needs to go back and re-read the ring. */ > > > +static bool empty_ring(struct vhost_net *net, struct > > > vhost_virtqueue *vq, > > > +?????????????? int pkts, size_t total_len, bool busyloop_intr) > > > +{ > > > +??? if (unlikely(busyloop_intr)) { > > > +??????? vhost_poll_queue(&vq->poll); > > > +??? } els...
2019 May 13
0
[PATCH net] vhost_net: fix possible infinite loop
...net.c >>>> @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct >>>> vhost_net_virtqueue *nvq, >>>> ????? return 0; >>>> ? } >>>> ? +/* Returns true if caller needs to go back and re-read the ring. */ >>>> +static bool empty_ring(struct vhost_net *net, struct >>>> vhost_virtqueue *vq, >>>> +?????????????? int pkts, size_t total_len, bool busyloop_intr) >>>> +{ >>>> +??? if (unlikely(busyloop_intr)) { >>>> +??????? vhost_poll_queue(&vq->poll); >>>&gt...
2019 May 05
0
[PATCH net] vhost_net: fix possible infinite loop
.../drivers/vhost/net.c >> +++ b/drivers/vhost/net.c >> @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct >> vhost_net_virtqueue *nvq, >> ????? return 0; >> ? } >> ? +/* Returns true if caller needs to go back and re-read the ring. */ >> +static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue >> *vq, >> +?????????????? int pkts, size_t total_len, bool busyloop_intr) >> +{ >> +??? if (unlikely(busyloop_intr)) { >> +??????? vhost_poll_queue(&vq->poll); >> +??? } else if (unlikely(vhost_enable_notify(...
2019 May 14
1
[PATCH net] vhost_net: fix possible infinite loop
...@@ static int vhost_net_build_xdp(struct > > > > > vhost_net_virtqueue *nvq, > > > > > ????? return 0; > > > > > ? } > > > > > ? +/* Returns true if caller needs to go back and re-read the ring. */ > > > > > +static bool empty_ring(struct vhost_net *net, struct > > > > > vhost_virtqueue *vq, > > > > > +?????????????? int pkts, size_t total_len, bool busyloop_intr) > > > > > +{ > > > > > +??? if (unlikely(busyloop_intr)) { > > > > > +??????? vhost_poll_...
2019 Apr 25
2
[PATCH net] vhost_net: fix possible infinite loop
When the rx buffer is too small for a packet, we will discard the vq descriptor and retry it for the next packet: while ((sock_len = vhost_net_rx_peek_head_len(net, sock->sk, &busyloop_intr))) { ... /* On overrun, truncate and discard */ if (unlikely(headcount > UIO_MAXIOV)) { iov_iter_init(&msg.msg_iter, READ, vq->iov, 1, 1); err = sock->ops->recvmsg(sock,
2019 Apr 25
2
[PATCH net] vhost_net: fix possible infinite loop
When the rx buffer is too small for a packet, we will discard the vq descriptor and retry it for the next packet: while ((sock_len = vhost_net_rx_peek_head_len(net, sock->sk, &busyloop_intr))) { ... /* On overrun, truncate and discard */ if (unlikely(headcount > UIO_MAXIOV)) { iov_iter_init(&msg.msg_iter, READ, vq->iov, 1, 1); err = sock->ops->recvmsg(sock,
2019 Apr 25
0
[PATCH net] vhost_net: fix possible infinite loop
...c b/drivers/vhost/net.c index df51a35cf537..a0f89a504cd9 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct vhost_net_virtqueue *nvq, return 0; } +/* Returns true if caller needs to go back and re-read the ring. */ +static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue *vq, + int pkts, size_t total_len, bool busyloop_intr) +{ + if (unlikely(busyloop_intr)) { + vhost_poll_queue(&vq->poll); + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) { + /* They have slipped one in meanwhile: check...
2013 Jan 25
1
assert in mail-transaction-log-file.c
I setup new server with dovecot 2.1.12 and mboxes from backup (moboxes was used with dovecot 1.1.6). OS: FreeBSD 8.3-STABLE, amd64. All index files from dovecot 1.1.6 has been deleted. Some times dovecot processes aborted. E. g. Jan 25 03:01:52 ost dovecot: lda(user at example.ru): Panic: file mail-transaction-log-file.c: line 1694 (mail_transaction_log_file_map): assertion failed:
2009 Sep 30
3
Some issues in Dovecot 1.2.5 after upgrade from 1.0.15
We upgraded from Dovecot 1.0.15 to 1.2.5 last night, on Solaris 10 using mboxes, mostly without issues. However I had to trash the index/cache files (too many folders were showing corruption issues which is especially bad for Prayer Webmail ".prayer" folders that store preferences; Prayer sees a disconnection as the folder being missing!). I've had one imap process panic in mailbox