Skip to content

Commit

Permalink
*: Convert thread_should_yield and thread_set_yield_time
Browse files Browse the repository at this point in the history
Convert thread_should_yield and thread_set_yield_time
to event_should_yield and event_set_yield_time

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
  • Loading branch information
donaldsharp committed Mar 24, 2023
1 parent 4f830a0 commit 70c35c1
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions lib/event.c
Original file line number Diff line number Diff line change
Expand Up @@ -1910,7 +1910,7 @@ unsigned long thread_consumed_time(RUSAGE_T *now, RUSAGE_T *start,
for CPU time. On balance, wall clock time seems to make sense.
Plus it has the added benefit that gettimeofday should be faster
than calling getrusage. */
int thread_should_yield(struct event *thread)
int event_should_yield(struct event *thread)
{
int result;
frr_with_mutex (&thread->mtx) {
Expand All @@ -1920,7 +1920,7 @@ int thread_should_yield(struct event *thread)
return result;
}

void thread_set_yield_time(struct event *thread, unsigned long yield_time)
void event_set_yield_time(struct event *thread, unsigned long yield_time)
{
frr_with_mutex (&thread->mtx) {
thread->yield = yield_time;
Expand Down
4 changes: 2 additions & 2 deletions lib/event.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,9 +254,9 @@ extern void event_call(struct event *event);
extern unsigned long event_timer_remain_second(struct event *event);
extern struct timeval event_timer_remain(struct event *event);
extern unsigned long event_timer_remain_msec(struct event *event);
extern int thread_should_yield(struct event *event);
extern int event_should_yield(struct event *event);
/* set yield time for thread */
extern void thread_set_yield_time(struct event *event, unsigned long);
extern void event_set_yield_time(struct event *event, unsigned long);

/* Internal libfrr exports */
extern void thread_getrusage(RUSAGE_T *);
Expand Down
6 changes: 3 additions & 3 deletions lib/workqueue.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ static int work_queue_schedule(struct work_queue *wq, unsigned int delay)
/* set thread yield time, if needed */
if (thread_is_scheduled(wq->thread) &&
wq->spec.yield != EVENT_YIELD_TIME_SLOT)
thread_set_yield_time(wq->thread, wq->spec.yield);
event_set_yield_time(wq->thread, wq->spec.yield);
return 1;
} else
return 0;
Expand Down Expand Up @@ -311,8 +311,8 @@ void work_queue_run(struct event *thread)
cycles++;

/* test if we should yield */
if (!(cycles % wq->cycles.granularity)
&& thread_should_yield(thread)) {
if (!(cycles % wq->cycles.granularity) &&
event_should_yield(thread)) {
yielded = 1;
goto stats;
}
Expand Down
2 changes: 1 addition & 1 deletion ospfd/ospf_lsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -3074,7 +3074,7 @@ void ospf_maxage_lsa_remover(struct event *thread)
}

/* TODO: maybe convert this function to a work-queue */
if (thread_should_yield(thread)) {
if (event_should_yield(thread)) {
OSPF_TIMER_ON(ospf->t_maxage,
ospf_maxage_lsa_remover, 0);
route_unlock_node(
Expand Down
2 changes: 1 addition & 1 deletion tests/lib/test_heavy_thread.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ static void clear_something(struct event *thread)
while (ws->i < ITERS_MAX) {
slow_func(ws->vty, ws->str, ws->i);
ws->i++;
if (thread_should_yield(thread)) {
if (event_should_yield(thread)) {
event_add_timer_msec(master, clear_something, ws, 0,
NULL);
return;
Expand Down
2 changes: 1 addition & 1 deletion zebra/zebra_fpm.c
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ union g_addr ipv4ll_gateway;
*/
static inline int zfpm_thread_should_yield(struct event *t)
{
return thread_should_yield(t);
return event_should_yield(t);
}

/*
Expand Down

0 comments on commit 70c35c1

Please sign in to comment.