mirror of
https://github.com/xcat2/xNBA.git
synced 2024-11-25 19:08:35 +00:00
[ipv4] Profile transmit and receive datapaths
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
6d4deeeb6c
commit
f65c81b1d0
@ -16,6 +16,7 @@
|
||||
#include <ipxe/settings.h>
|
||||
#include <ipxe/fragment.h>
|
||||
#include <ipxe/ipstat.h>
|
||||
#include <ipxe/profile.h>
|
||||
|
||||
/** @file
|
||||
*
|
||||
@ -41,6 +42,12 @@ ipv4_stats_family __ip_statistics_family ( IP_STATISTICS_IPV4 ) = {
|
||||
.stats = &ipv4_stats,
|
||||
};
|
||||
|
||||
/** Transmit profiler */
|
||||
static struct profiler ipv4_tx_profiler __profiler = { .name = "ipv4.tx" };
|
||||
|
||||
/** Receive profiler */
|
||||
static struct profiler ipv4_rx_profiler __profiler = { .name = "ipv4.rx" };
|
||||
|
||||
/**
|
||||
* Add IPv4 minirouting table entry
|
||||
*
|
||||
@ -263,6 +270,9 @@ static int ipv4_tx ( struct io_buffer *iobuf,
|
||||
const void *ll_dest;
|
||||
int rc;
|
||||
|
||||
/* Start profiling */
|
||||
profile_start ( &ipv4_tx_profiler );
|
||||
|
||||
/* Update statistics */
|
||||
ipv4_stats.out_requests++;
|
||||
|
||||
@ -358,6 +368,7 @@ static int ipv4_tx ( struct io_buffer *iobuf,
|
||||
}
|
||||
}
|
||||
|
||||
profile_stop ( &ipv4_tx_profiler );
|
||||
return 0;
|
||||
|
||||
err:
|
||||
@ -430,6 +441,9 @@ static int ipv4_rx ( struct io_buffer *iobuf,
|
||||
uint16_t pshdr_csum;
|
||||
int rc;
|
||||
|
||||
/* Start profiling */
|
||||
profile_start ( &ipv4_rx_profiler );
|
||||
|
||||
/* Update statistics */
|
||||
ipv4_stats.in_receives++;
|
||||
ipv4_stats.in_octets += iob_len ( iobuf );
|
||||
@ -528,6 +542,7 @@ static int ipv4_rx ( struct io_buffer *iobuf,
|
||||
return rc;
|
||||
}
|
||||
|
||||
profile_stop ( &ipv4_rx_profiler );
|
||||
return 0;
|
||||
|
||||
err_header:
|
||||
|
Loading…
Reference in New Issue
Block a user