Merge pull request #1540 from opensourcerouting/isis-spfperf1

isisd: save a clock_gettime() call
This commit is contained in:
Donald Sharp 2017-12-12 12:41:07 -05:00 committed by GitHub
commit 0c08a0b87b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1249,7 +1249,7 @@ static void init_spt(struct isis_spftree *spftree, int mtid, int level,
} }
static int isis_run_spf(struct isis_area *area, int level, int family, static int isis_run_spf(struct isis_area *area, int level, int family,
u_char *sysid) u_char *sysid, struct timeval *nowtv)
{ {
int retval = ISIS_OK; int retval = ISIS_OK;
struct isis_vertex *vertex; struct isis_vertex *vertex;
@ -1263,9 +1263,8 @@ static int isis_run_spf(struct isis_area *area, int level, int family,
uint16_t mtid; uint16_t mtid;
/* Get time that can't roll backwards. */ /* Get time that can't roll backwards. */
monotime(&time_now); start_time = nowtv->tv_sec;
start_time = time_now.tv_sec; start_time = (start_time * 1000000) + nowtv->tv_usec;
start_time = (start_time * 1000000) + time_now.tv_usec;
if (family == AF_INET) if (family == AF_INET)
spftree = area->spftree[level - 1]; spftree = area->spftree[level - 1];
@ -1372,9 +1371,11 @@ static int isis_run_spf_cb(struct thread *thread)
area->area_tag, level); area->area_tag, level);
if (area->ip_circuits) if (area->ip_circuits)
retval = isis_run_spf(area, level, AF_INET, isis->sysid); retval = isis_run_spf(area, level, AF_INET, isis->sysid,
&thread->real);
if (area->ipv6_circuits) if (area->ipv6_circuits)
retval = isis_run_spf(area, level, AF_INET6, isis->sysid); retval = isis_run_spf(area, level, AF_INET6, isis->sysid,
&thread->real);
return retval; return retval;
} }