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 |
|