Parcourir la source

[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 il y a 10 ans
Parent
révision
4e6821662c
1 fichiers modifiés avec 3 ajouts et 1 suppressions
  1. 3
    1
      src/drivers/net/netvsc.c

+ 3
- 1
src/drivers/net/netvsc.c Voir le fichier

435
  */
435
  */
436
 static void netvsc_poll ( struct rndis_device *rndis ) {
436
 static void netvsc_poll ( struct rndis_device *rndis ) {
437
 	struct netvsc_device *netvsc = rndis->priv;
437
 	struct netvsc_device *netvsc = rndis->priv;
438
+	struct vmbus_device *vmdev = netvsc->vmdev;
438
 
439
 
439
 	/* Poll VMBus device */
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
 /**

Chargement…
Annuler
Enregistrer