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...