search for: busyloop_endtim

Displaying 7 results from an estimated 7 matches for "busyloop_endtim".

Did you mean: busyloop_endtime
2018 Jun 29
5
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
..._tx_get_vq_desc(struct vhost_net *net, if (r == vq->num && vq->busyloop_timeout) { preempt_disable(); - endtime = busy_clock() + vq->busyloop_timeout; - while (vhost_can_busy_poll(vq->dev, endtime) && - vhost_vq_avail_empty(vq->dev, vq)) + if (vq->busyloop_endtime) { + endtime = vq->busyloop_endtime; + vq->busyloop_endtime = 0; + } else { + endtime = busy_clock() + vq->busyloop_timeout; + } + while (vhost_can_busy_poll(endtime)) { + if (vhost_busy_poll_interrupted(vq->dev)) { + vq->busyloop_endtime = endtime; + break; + } +...
2018 Jun 29
5
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
..._tx_get_vq_desc(struct vhost_net *net, if (r == vq->num && vq->busyloop_timeout) { preempt_disable(); - endtime = busy_clock() + vq->busyloop_timeout; - while (vhost_can_busy_poll(vq->dev, endtime) && - vhost_vq_avail_empty(vq->dev, vq)) + if (vq->busyloop_endtime) { + endtime = vq->busyloop_endtime; + vq->busyloop_endtime = 0; + } else { + endtime = busy_clock() + vq->busyloop_timeout; + } + while (vhost_can_busy_poll(endtime)) { + if (vhost_busy_poll_interrupted(vq->dev)) { + vq->busyloop_endtime = endtime; + break; + } +...
2018 Jun 29
0
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...et, > > if (r == vq->num && vq->busyloop_timeout) { > preempt_disable(); > - endtime = busy_clock() + vq->busyloop_timeout; > - while (vhost_can_busy_poll(vq->dev, endtime) && > - vhost_vq_avail_empty(vq->dev, vq)) > + if (vq->busyloop_endtime) { > + endtime = vq->busyloop_endtime; > + vq->busyloop_endtime = 0; > + } else { > + endtime = busy_clock() + vq->busyloop_timeout; > + } > + while (vhost_can_busy_poll(endtime)) { > + if (vhost_busy_poll_interrupted(vq->dev)) { > + vq->busyloo...
2018 Jun 29
0
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...> > if (r == vq->num && vq->busyloop_timeout) { > preempt_disable(); > - endtime = busy_clock() + vq->busyloop_timeout; > - while (vhost_can_busy_poll(vq->dev, endtime) && > - vhost_vq_avail_empty(vq->dev, vq)) > + if (vq->busyloop_endtime) { > + endtime = vq->busyloop_endtime; > + vq->busyloop_endtime = 0; Looks like endtime may be before current time. So we skip busy loop in this case. > + } else { > + endtime = busy_clock() + vq->busyloop_timeout; > + } > + while (vhost_can_busy_poll(endtime...
2018 Jul 02
2
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...->busyloop_timeout) { >> ????????? preempt_disable(); >> -??????? endtime = busy_clock() + vq->busyloop_timeout; >> -??????? while (vhost_can_busy_poll(vq->dev, endtime) && >> -?????????????? vhost_vq_avail_empty(vq->dev, vq)) >> +??????? if (vq->busyloop_endtime) { >> +??????????? endtime = vq->busyloop_endtime; >> +??????????? vq->busyloop_endtime = 0; > > Looks like endtime may be before current time. So we skip busy loop in > this case. Sure, I'll add a condition. > >> +??????? } else { >> +???????????...
2018 Jul 02
2
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...->busyloop_timeout) { >> ????????? preempt_disable(); >> -??????? endtime = busy_clock() + vq->busyloop_timeout; >> -??????? while (vhost_can_busy_poll(vq->dev, endtime) && >> -?????????????? vhost_vq_avail_empty(vq->dev, vq)) >> +??????? if (vq->busyloop_endtime) { >> +??????????? endtime = vq->busyloop_endtime; >> +??????????? vq->busyloop_endtime = 0; > > Looks like endtime may be before current time. So we skip busy loop in > this case. Sure, I'll add a condition. > >> +??????? } else { >> +???????????...
2018 Jul 02
0
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...) { >>> ????????? preempt_disable(); >>> -??????? endtime = busy_clock() + vq->busyloop_timeout; >>> -??????? while (vhost_can_busy_poll(vq->dev, endtime) && >>> -?????????????? vhost_vq_avail_empty(vq->dev, vq)) >>> +??????? if (vq->busyloop_endtime) { >>> +??????????? endtime = vq->busyloop_endtime; >>> +??????????? vq->busyloop_endtime = 0; >> Looks like endtime may be before current time. So we skip busy loop in >> this case. > Sure, I'll add a condition. > >>> +??????? } else { >&g...