routing: Use NET_EPOCH_[CALL|WAIT] macros

Reviewed by:	melifaro, kp
Approved by:	kp (mentor)
Differential Revision:	https://reviews.freebsd.org/D37729
This commit is contained in:
Zhenlei Huang 2022-12-21 09:33:31 +08:00
parent 2e543af13a
commit 73336a6fd8
7 changed files with 9 additions and 16 deletions

View File

@ -1738,7 +1738,7 @@ fib_set_algo_ptr(struct fib_data *fd, void *algo_data)
void
fib_epoch_call(epoch_callback_t callback, epoch_context_t ctx)
{
epoch_call(net_epoch_preempt, callback, ctx);
NET_EPOCH_CALL(callback, ctx);
}
/*

View File

@ -385,8 +385,7 @@ nhgrp_free(struct nhgrp_object *nhg)
NET_EPOCH_EXIT(et);
KASSERT((nhg_priv->nhg_idx == 0), ("gr_idx != 0"));
epoch_call(net_epoch_preempt, destroy_nhgrp_epoch,
&nhg_priv->nhg_epoch_ctx);
NET_EPOCH_CALL(destroy_nhgrp_epoch, &nhg_priv->nhg_epoch_ctx);
}
/*

View File

@ -170,8 +170,7 @@ nhops_destroy_rib(struct rib_head *rh)
* Postpone destruction till the end of current epoch
* so nhop_free() can safely use nh_control pointer.
*/
epoch_call(net_epoch_preempt, destroy_ctl_epoch,
&ctl->ctl_epoch_ctx);
NET_EPOCH_CALL(destroy_ctl_epoch, &ctl->ctl_epoch_ctx);
}
/*

View File

@ -638,8 +638,7 @@ nhop_free(struct nhop_object *nh)
}
NET_EPOCH_EXIT(et);
epoch_call(net_epoch_preempt, destroy_nhop_epoch,
&nh_priv->nh_epoch_ctx);
NET_EPOCH_CALL(destroy_nhop_epoch, &nh_priv->nh_epoch_ctx);
}
void

View File

@ -154,8 +154,7 @@ rt_free(struct rtentry *rt)
KASSERT(rt != NULL, ("%s: NULL rt", __func__));
epoch_call(net_epoch_preempt, destroy_rtentry_epoch,
&rt->rt_epoch_ctx);
NET_EPOCH_CALL(destroy_rtentry_epoch, &rt->rt_epoch_ctx);
}
void

View File

@ -157,8 +157,7 @@ rib_unsubscribe(struct rib_subscription *rs)
CK_STAILQ_REMOVE(&rnh->rnh_subscribers, rs, rib_subscription, next);
RIB_WUNLOCK(rnh);
epoch_call(net_epoch_preempt, destroy_subscription_epoch,
&rs->epoch_ctx);
NET_EPOCH_CALL(destroy_subscription_epoch, &rs->epoch_ctx);
}
void
@ -171,8 +170,7 @@ rib_unsubscribe_locked(struct rib_subscription *rs)
CK_STAILQ_REMOVE(&rnh->rnh_subscribers, rs, rib_subscription, next);
epoch_call(net_epoch_preempt, destroy_subscription_epoch,
&rs->epoch_ctx);
NET_EPOCH_CALL(destroy_subscription_epoch, &rs->epoch_ctx);
}
/*
@ -205,8 +203,7 @@ rib_destroy_subscriptions(struct rib_head *rnh)
RIB_WLOCK(rnh);
while ((rs = CK_STAILQ_FIRST(&rnh->rnh_subscribers)) != NULL) {
CK_STAILQ_REMOVE_HEAD(&rnh->rnh_subscribers, next);
epoch_call(net_epoch_preempt, destroy_subscription_epoch,
&rs->epoch_ctx);
NET_EPOCH_CALL(destroy_subscription_epoch, &rs->epoch_ctx);
}
RIB_WUNLOCK(rnh);
NET_EPOCH_EXIT(et);

View File

@ -245,7 +245,7 @@ grow_rtables(uint32_t num_tables)
/* Wait till all cpus see new pointers */
atomic_thread_fence_rel();
epoch_wait_preempt(net_epoch_preempt);
NET_EPOCH_WAIT();
/* Set number of fibs to a new value */
V_rt_numfibs = num_tables;