diff options
| author | Stephen Hurd <shurd@FreeBSD.org> | 2018-05-02 19:36:29 +0000 |
|---|---|---|
| committer | Stephen Hurd <shurd@FreeBSD.org> | 2018-05-02 19:36:29 +0000 |
| commit | f3e1324b41e54f1a3b148541ddcacdbe647d2214 (patch) | |
| tree | 605fb041714cffab9218069efe9ade83faf4843d /sys/kern | |
| parent | adb947a67ad23f81deea85fd765d98493db1713d (diff) | |
Notes
Diffstat (limited to 'sys/kern')
| -rw-r--r-- | sys/kern/subr_gtaskqueue.c | 12 | ||||
| -rw-r--r-- | sys/kern/subr_witness.c | 8 |
2 files changed, 17 insertions, 3 deletions
diff --git a/sys/kern/subr_gtaskqueue.c b/sys/kern/subr_gtaskqueue.c index 20e96321fb70..14677a164540 100644 --- a/sys/kern/subr_gtaskqueue.c +++ b/sys/kern/subr_gtaskqueue.c @@ -53,6 +53,7 @@ static void gtaskqueue_thread_enqueue(void *); static void gtaskqueue_thread_loop(void *arg); TASKQGROUP_DEFINE(softirq, mp_ncpus, 1); +TASKQGROUP_DEFINE(config, 1, 1); struct gtaskqueue_busy { struct gtask *tb_running; @@ -662,7 +663,7 @@ SYSINIT(tqg_record_smp_started, SI_SUB_SMP, SI_ORDER_FOURTH, void taskqgroup_attach(struct taskqgroup *qgroup, struct grouptask *gtask, - void *uniq, int irq, char *name) + void *uniq, int irq, const char *name) { cpuset_t mask; int qid, error; @@ -977,3 +978,12 @@ taskqgroup_destroy(struct taskqgroup *qgroup) { } + +void +taskqgroup_config_gtask_init(void *ctx, struct grouptask *gtask, gtask_fn_t *fn, + const char *name) +{ + + GROUPTASK_INIT(gtask, 0, fn, ctx); + taskqgroup_attach(qgroup_config, gtask, gtask, -1, name); +} diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index a5df44ee1b18..19e3656e0f28 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c @@ -532,18 +532,22 @@ static struct witness_order_list_entry order_lists[] = { * IPv4 multicast: * protocol locks before interface locks, after UDP locks. */ + { "in_multi_sx", &lock_class_sx }, { "udpinp", &lock_class_rw }, - { "in_multi_mtx", &lock_class_mtx_sleep }, + { "in_multi_list_mtx", &lock_class_mtx_sleep }, { "igmp_mtx", &lock_class_mtx_sleep }, + { "ifnet_rw", &lock_class_rw }, { "if_addr_lock", &lock_class_rw }, { NULL, NULL }, /* * IPv6 multicast: * protocol locks before interface locks, after UDP locks. */ + { "in6_multi_sx", &lock_class_sx }, { "udpinp", &lock_class_rw }, - { "in6_multi_mtx", &lock_class_mtx_sleep }, + { "in6_multi_list_mtx", &lock_class_mtx_sleep }, { "mld_mtx", &lock_class_mtx_sleep }, + { "ifnet_rw", &lock_class_rw }, { "if_addr_lock", &lock_class_rw }, { NULL, NULL }, /* |
