[intel] Exclude time spent in hypervisor from profiling
When profiling, exclude any time spent inside the hypervisor responding to our MMIO accesses. This substantially reduces the variance accumulated on many other profilers. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
6f410a16d9
commit
abf875a2e5
@ -496,6 +496,7 @@ void intel_refill_rx ( struct intel_nic *intel ) {
|
|||||||
profile_start ( &intel_vm_refill_profiler );
|
profile_start ( &intel_vm_refill_profiler );
|
||||||
writel ( rx_tail, intel->regs + intel->rx.reg + INTEL_xDT );
|
writel ( rx_tail, intel->regs + intel->rx.reg + INTEL_xDT );
|
||||||
profile_stop ( &intel_vm_refill_profiler );
|
profile_stop ( &intel_vm_refill_profiler );
|
||||||
|
profile_exclude ( &intel_vm_refill_profiler );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -634,6 +635,7 @@ int intel_transmit ( struct net_device *netdev, struct io_buffer *iobuf ) {
|
|||||||
profile_start ( &intel_vm_tx_profiler );
|
profile_start ( &intel_vm_tx_profiler );
|
||||||
writel ( tx_tail, intel->regs + intel->tx.reg + INTEL_xDT );
|
writel ( tx_tail, intel->regs + intel->tx.reg + INTEL_xDT );
|
||||||
profile_stop ( &intel_vm_tx_profiler );
|
profile_stop ( &intel_vm_tx_profiler );
|
||||||
|
profile_exclude ( &intel_vm_tx_profiler );
|
||||||
|
|
||||||
DBGC2 ( intel, "INTEL %p TX %d is [%llx,%llx)\n", intel, tx_idx,
|
DBGC2 ( intel, "INTEL %p TX %d is [%llx,%llx)\n", intel, tx_idx,
|
||||||
( ( unsigned long long ) address ),
|
( ( unsigned long long ) address ),
|
||||||
@ -728,6 +730,7 @@ static void intel_poll ( struct net_device *netdev ) {
|
|||||||
profile_start ( &intel_vm_poll_profiler );
|
profile_start ( &intel_vm_poll_profiler );
|
||||||
icr = readl ( intel->regs + INTEL_ICR );
|
icr = readl ( intel->regs + INTEL_ICR );
|
||||||
profile_stop ( &intel_vm_poll_profiler );
|
profile_stop ( &intel_vm_poll_profiler );
|
||||||
|
profile_exclude ( &intel_vm_poll_profiler );
|
||||||
if ( ! icr )
|
if ( ! icr )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user