소스 검색

[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 9 년 전
부모
커밋
4e6821662c
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3
    1
      src/drivers/net/netvsc.c

+ 3
- 1
src/drivers/net/netvsc.c 파일 보기

@@ -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
 /**

Loading…
취소
저장