Page MenuHomeFreeBSD

Add SI_SUB_TASKQ after SI_SUB_INTR and move taskqueue initialization there for EARLY_AP_STARTUP
ClosedPublic

Authored by cem on Aug 16 2017, 9:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 25, 11:28 AM
Unknown Object (File)
Wed, Dec 24, 1:30 AM
Unknown Object (File)
Tue, Dec 23, 12:06 AM
Unknown Object (File)
Dec 2 2025, 6:30 AM
Unknown Object (File)
Nov 20 2025, 5:21 PM
Unknown Object (File)
Nov 20 2025, 5:12 PM
Unknown Object (File)
Nov 20 2025, 5:10 PM
Unknown Object (File)
Nov 20 2025, 5:03 PM
Subscribers

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Aug 16 2017, 9:35 PM

Looks good to me assuming it boots. A few other places that are using SI_SUB_INIT_IF that might be candidates for now using SI_SUB_TASKQ:

compat/linuxkpi/common/src/linux_work.c:SYSINIT(linux_work_init, SI_SUB_INIT_IF, SI_ORDER_THIRD, linux_work_init, NULL);
compat/linuxkpi/common/src/linux_work.c:SYSUNINIT(linux_work_uninit, SI_SUB_INIT_IF, SI_ORDER_THIRD, linux_work_uninit, NULL);
compat/linuxkpi/common/src/linux_tasklet.c:SYSINIT(linux_tasklet, SI_SUB_INIT_IF, SI_ORDER_THIRD, tasklet_subsystem_init, NULL);
compat/linuxkpi/common/src/linux_tasklet.c:SYSUNINIT(linux_tasklet, SI_SUB_INIT_IF, SI_ORDER_THIRD, tasklet_subsystem_uninit, NULL);
sys/gtaskqueue.h:SYSINIT(taskqgroup_##name, SI_SUB_INIT_IF, SI_ORDER_FIRST,    \
sys/gtaskqueue.h:SYSINIT(taskqgroup_##name, SI_SUB_INIT_IF, SI_ORDER_FIRST,    \

I think gtaskqueue.h is trickier. I bet that this would make it simpler though as it could always do the non-EARLY_AP_STARTUP case and remove the #ifdef's as SI_SUB_TASKQ will always be before SI_SUB_SMP.

This revision was automatically updated to reflect the committed changes.