Use a static initializer for the multicast free tasks.

This makes the SYSINIT() function updated in r364072 superfluous.

Suggested by:	glebius@
MFC after:	1 week
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2020-08-11 08:31:40 +00:00
parent 8a0917c35b
commit b453d3d239
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=364102
2 changed files with 2 additions and 16 deletions

View File

@ -229,16 +229,9 @@ inm_is_ifp_detached(const struct in_multi *inm)
* dedicated thread to avoid deadlocks when draining inm_release tasks.
*/
TASKQUEUE_DEFINE_THREAD(inm_free);
static struct task inm_free_task;
static struct in_multi_head inm_free_list = SLIST_HEAD_INITIALIZER();
static void inm_release_task(void *arg __unused, int pending __unused);
static void
inm_init(void *arg __unused)
{
TASK_INIT(&inm_free_task, 0, inm_release_task, NULL);
}
SYSINIT(inm_init, SI_SUB_TASKQ, SI_ORDER_ANY, inm_init, NULL);
static struct task inm_free_task = TASK_INITIALIZER(0, inm_release_task, NULL);
void
inm_release_wait(void *arg __unused)

View File

@ -516,16 +516,9 @@ in6m_release(struct in6_multi *inm)
* dedicated thread to avoid deadlocks when draining in6m_release tasks.
*/
TASKQUEUE_DEFINE_THREAD(in6m_free);
static struct task in6m_free_task;
static struct in6_multi_head in6m_free_list = SLIST_HEAD_INITIALIZER();
static void in6m_release_task(void *arg __unused, int pending __unused);
static void
in6m_init(void *arg __unused)
{
TASK_INIT(&in6m_free_task, 0, in6m_release_task, NULL);
}
SYSINIT(in6m_init, SI_SUB_TASKQ, SI_ORDER_ANY, in6m_init, NULL);
static struct task in6m_free_task = TASK_INITIALIZER(0, in6m_release_task, NULL);
void
in6m_release_list_deferred(struct in6_multi_head *inmh)