From 90caf71051f49e2aa4ef0ebdbd50491285f361a0 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sat, 3 May 2014 01:02:20 +0100 Subject: [PATCH] [pxe] Profile UNDI transmit datapath Signed-off-by: Michael Brown --- src/arch/i386/interface/pxe/pxe_undi.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/arch/i386/interface/pxe/pxe_undi.c b/src/arch/i386/interface/pxe/pxe_undi.c index 5d212269..a17b9b3b 100644 --- a/src/arch/i386/interface/pxe/pxe_undi.c +++ b/src/arch/i386/interface/pxe/pxe_undi.c @@ -38,6 +38,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include #include +#include #include "pxe.h" /** @@ -53,6 +54,9 @@ static int undi_tx_count = 0; struct net_device *pxe_netdev = NULL; +/** Transmit profiler */ +static struct profiler undi_tx_profiler __profiler = { .name = "undi.tx" }; + /** * Set network device as current PXE network device * @@ -309,6 +313,9 @@ pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT *undi_transmit ) { unsigned int i; int rc; + /* Start profiling */ + profile_start ( &undi_tx_profiler ); + /* Sanity check */ if ( ! pxe_netdev ) { DBGC ( &pxe_netdev, "PXENV_UNDI_TRANSMIT called with no " @@ -422,6 +429,7 @@ pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT *undi_transmit ) { return PXENV_EXIT_FAILURE; } + profile_stop ( &undi_tx_profiler ); undi_transmit->Status = PXENV_STATUS_SUCCESS; return PXENV_EXIT_SUCCESS; }