svn commit: r359436 - in head/sys: kern net sys
Li-Wen Hsu
lwhsu at freebsd.org
Tue Mar 31 01:48:11 UTC 2020
On Mon, Mar 30, 2020 at 10:32 PM Mark Johnston <markj at freebsd.org> wrote:
>
> Author: markj
> Date: Mon Mar 30 14:22:52 2020
> New Revision: 359436
> URL: https://svnweb.freebsd.org/changeset/base/359436
>
> Log:
> Simplify taskqgroup inititialization.
>
> taskqgroup initialization was broken into two steps:
>
> 1. allocate the taskqgroup structure, at SI_SUB_TASKQ;
> 2. initialize taskqueues, start taskqueue threads, enqueue "binder"
> tasks to bind threads to specific CPUs, at SI_SUB_SMP.
>
> Step 2 tries to handle the case where tasks have already been attached
> to a queue, by migrating them to their intended queue. In particular,
> tasks can't be enqueued before step 2 has completed. This breaks NFS
> mountroot on systems using an iflib-based driver when EARLY_AP_STARTUP
> is not defined, since mountroot happens before SI_SUB_SMP in this case.
>
> Simplify initialization: do all initialization except for CPU binding at
> SI_SUB_TASKQ. This means that until CPU binding is completed, group
> tasks may be executed on a CPU other than that to which they were bound,
> but this should not be a problem for existing users of the taskqgroup
> KPIs.
>
> Reported by: sbruno
> Tested by: bdragon, sbruno
> MFC after: 1 month
> Sponsored by: The FreeBSD Foundation
> Differential Revision: https://reviews.freebsd.org/D24188
>
> Modified:
> head/sys/kern/subr_gtaskqueue.c
> head/sys/net/iflib.c
> head/sys/sys/gtaskqueue.h
Hi Mark,
I see many "panic: deadlres_td_sleep_q: possible deadlock detected" in
the CI after this commit:
https://ci.freebsd.org/job/FreeBSD-head-amd64-test/14738/consoleFull
https://ci.freebsd.org/job/FreeBSD-head-amd64-test/14739/consoleFull
https://ci.freebsd.org/job/FreeBSD-head-amd64-test/14741/consoleFull
https://ci.freebsd.org/job/FreeBSD-head-amd64-test/14742/consoleFull
https://ci.freebsd.org/job/FreeBSD-head-amd64-test/14743/console
https://ci.freebsd.org/job/FreeBSD-head-amd64-test/14744/consoleFull
It seems could be triggered by sys.netinet6.frag6.*
sys.netpfil.common.* sbin.pfctl.pfctl_test.* tests, and there are lots
of test cases timed out.
Can you help check these?
Thanks,
Li-Wen
More information about the svn-src-head
mailing list