Inside a virtual machine, writing the RX ring tail pointer may incur a substantial overhead of processing inside the hypervisor. Minimise this overhead by writing the tail pointer once per batch of descriptors, rather than once per descriptor. Profiling under qemu-kvm (version 1.6.2) shows that this reduces the amount of time taken to refill the RX descriptor ring by around 90%. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
| 456 |
|
456 |
|
| 457 |
|
457 |
|
| 458 |
|
458 |
|
|
459 |
|
|
| 459 |
|
460 |
|
|
461 |
|
|
| 460 |
|
462 |
|
| 461 |
|
463 |
|
| 462 |
|
464 |
|
| 463 |
|
465 |
|
| 464 |
|
466 |
|
| 465 |
|
467 |
|
| 466 |
|
|
|
|
468 |
|
|
| 467 |
|
469 |
|
| 468 |
|
470 |
|
| 469 |
|
471 |
|
| 470 |
|
472 |
|
| 471 |
|
|
|
| 472 |
|
473 |
|
| 473 |
|
474 |
|
| 474 |
|
475 |
|
|
|
||
| 477 |
|
478 |
|
| 478 |
|
479 |
|
| 479 |
|
480 |
|
| 480 |
|
|
|
| 481 |
|
481 |
|
| 482 |
|
482 |
|
| 483 |
|
483 |
|
| 484 |
|
484 |
|
| 485 |
|
485 |
|
| 486 |
|
|
|
| 487 |
|
|
|
| 488 |
|
|
|
| 489 |
|
|
|
| 490 |
|
|
|
| 491 |
|
486 |
|
| 492 |
|
487 |
|
| 493 |
|
488 |
|
|
489 |
|
|
|
490 |
|
|
|
491 |
|
|
|
492 |
|
|
|
493 |
|
|
|
494 |
|
|
|
495 |
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
|
|
| 494 |
|
499 |
|
| 495 |
|
500 |
|
| 496 |
|
501 |
|