Quellcode durchsuchen

[hyperv] Receive all VMBus messages in a poll

Allow for elision of transmitted TCP ACKs by handling all received
VMBus messages in each network device poll operation.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown vor 9 Jahren
Ursprung
Commit
4e6821662c
1 geänderte Dateien mit 3 neuen und 1 gelöschten Zeilen
  1. 3
    1
      src/drivers/net/netvsc.c

+ 3
- 1
src/drivers/net/netvsc.c Datei anzeigen

@@ -435,9 +435,11 @@ static struct vmbus_channel_operations netvsc_channel_operations = {
435 435
  */
436 436
 static void netvsc_poll ( struct rndis_device *rndis ) {
437 437
 	struct netvsc_device *netvsc = rndis->priv;
438
+	struct vmbus_device *vmdev = netvsc->vmdev;
438 439
 
439 440
 	/* Poll VMBus device */
440
-	vmbus_poll ( netvsc->vmdev );
441
+	while ( vmbus_has_data ( vmdev ) )
442
+		vmbus_poll ( vmdev );
441 443
 }
442 444
 
443 445
 /**

Laden…
Abbrechen
Speichern