Commit 433e19c
Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()
Commit a389fcf ("Drivers: hv: vmbus: Fix signaling logic in
hv_need_to_signal_on_read()")
added the proper mb(), but removed the test "prev_write_sz < pending_sz"
when making the signal decision.
As a result, the guest can signal the host unnecessarily,
and then the host can throttle the guest because the host
thinks the guest is buggy or malicious; finally the user
running stress test can perceive intermittent freeze of
the guest.
This patch brings back the test, and properly handles the
in-place consumption APIs used by NetVSC (see get_next_pkt_raw(),
put_pkt_raw() and commit_rd_index()).
Fixes: a389fcf ("Drivers: hv: vmbus: Fix signaling logic in
hv_need_to_signal_on_read()")
Signed-off-by: Dexuan Cui <[email protected]>
Reported-by: Rolf Neugebauer <[email protected]>
Tested-by: Rolf Neugebauer <[email protected]>
Cc: "K. Y. Srinivasan" <[email protected]>
Cc: Haiyang Zhang <[email protected]>
Cc: Stephen Hemminger <[email protected]>
Cc: <[email protected]>
Signed-off-by: K. Y. Srinivasan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>1 parent 191e885 commit 433e19c
File tree
3 files changed
+37
-2
lines changed- drivers
- hv
- net/hyperv
- include/linux
3 files changed
+37
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
383 | 383 | | |
384 | 384 | | |
385 | 385 | | |
| 386 | + | |
386 | 387 | | |
387 | 388 | | |
388 | 389 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1295 | 1295 | | |
1296 | 1296 | | |
1297 | 1297 | | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
1298 | 1301 | | |
1299 | 1302 | | |
1300 | 1303 | | |
| |||
1347 | 1350 | | |
1348 | 1351 | | |
1349 | 1352 | | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
1350 | 1356 | | |
1351 | 1357 | | |
1352 | 1358 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
| |||
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
183 | 197 | | |
184 | 198 | | |
185 | 199 | | |
| |||
1488 | 1502 | | |
1489 | 1503 | | |
1490 | 1504 | | |
1491 | | - | |
| 1505 | + | |
1492 | 1506 | | |
1493 | 1507 | | |
1494 | 1508 | | |
| |||
1512 | 1526 | | |
1513 | 1527 | | |
1514 | 1528 | | |
1515 | | - | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
1516 | 1534 | | |
1517 | 1535 | | |
1518 | 1536 | | |
1519 | 1537 | | |
1520 | 1538 | | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
1521 | 1547 | | |
1522 | 1548 | | |
1523 | 1549 | | |
| |||
1569 | 1595 | | |
1570 | 1596 | | |
1571 | 1597 | | |
| 1598 | + | |
| 1599 | + | |
1572 | 1600 | | |
1573 | 1601 | | |
1574 | 1602 | | |
| |||
0 commit comments