svn commit: r322672 - in head/sys: compat/linuxkpi/common/src sys

Conrad Meyer cem at FreeBSD.org
Fri Aug 18 18:55:08 UTC 2017


Author: cem
Date: Fri Aug 18 18:55:07 2017
New Revision: 322672
URL: https://svnweb.freebsd.org/changeset/base/322672

Log:
  Move some other SI_SUB_INIT_IF initializations to SI_SUB_TASKQ
  
  Drop the EARLY_AP_STARTUP gtaskqueue code, as gtaskqueues are now
  initialized before APs are started.
  
  Reviewed by:	hselasky@, jhb@
  Sponsored by:	Dell EMC Isilon
  Differential Revision:	https://reviews.freebsd.org/D12054

Modified:
  head/sys/compat/linuxkpi/common/src/linux_tasklet.c
  head/sys/compat/linuxkpi/common/src/linux_work.c
  head/sys/sys/gtaskqueue.h

Modified: head/sys/compat/linuxkpi/common/src/linux_tasklet.c
==============================================================================
--- head/sys/compat/linuxkpi/common/src/linux_tasklet.c	Fri Aug 18 18:26:30 2017	(r322671)
+++ head/sys/compat/linuxkpi/common/src/linux_tasklet.c	Fri Aug 18 18:55:07 2017	(r322672)
@@ -110,7 +110,7 @@ tasklet_subsystem_init(void *arg __unused)
 		    "tasklet", i, -1, buf);
        }
 }
-SYSINIT(linux_tasklet, SI_SUB_INIT_IF, SI_ORDER_THIRD, tasklet_subsystem_init, NULL);
+SYSINIT(linux_tasklet, SI_SUB_TASKQ, SI_ORDER_THIRD, tasklet_subsystem_init, NULL);
 
 static void
 tasklet_subsystem_uninit(void *arg __unused)
@@ -128,7 +128,7 @@ tasklet_subsystem_uninit(void *arg __unused)
 		mtx_destroy(&tw->mtx);
 	}
 }
-SYSUNINIT(linux_tasklet, SI_SUB_INIT_IF, SI_ORDER_THIRD, tasklet_subsystem_uninit, NULL);
+SYSUNINIT(linux_tasklet, SI_SUB_TASKQ, SI_ORDER_THIRD, tasklet_subsystem_uninit, NULL);
 
 void
 tasklet_init(struct tasklet_struct *ts,

Modified: head/sys/compat/linuxkpi/common/src/linux_work.c
==============================================================================
--- head/sys/compat/linuxkpi/common/src/linux_work.c	Fri Aug 18 18:26:30 2017	(r322671)
+++ head/sys/compat/linuxkpi/common/src/linux_work.c	Fri Aug 18 18:55:07 2017	(r322672)
@@ -577,7 +577,7 @@ linux_work_init(void *arg)
 	system_power_efficient_wq = linux_system_short_wq;
 	system_unbound_wq = linux_system_short_wq;
 }
-SYSINIT(linux_work_init, SI_SUB_INIT_IF, SI_ORDER_THIRD, linux_work_init, NULL);
+SYSINIT(linux_work_init, SI_SUB_TASKQ, SI_ORDER_THIRD, linux_work_init, NULL);
 
 static void
 linux_work_uninit(void *arg)
@@ -591,4 +591,4 @@ linux_work_uninit(void *arg)
 	system_power_efficient_wq = NULL;
 	system_unbound_wq = NULL;
 }
-SYSUNINIT(linux_work_uninit, SI_SUB_INIT_IF, SI_ORDER_THIRD, linux_work_uninit, NULL);
+SYSUNINIT(linux_work_uninit, SI_SUB_TASKQ, SI_ORDER_THIRD, linux_work_uninit, NULL);

Modified: head/sys/sys/gtaskqueue.h
==============================================================================
--- head/sys/sys/gtaskqueue.h	Fri Aug 18 18:26:30 2017	(r322671)
+++ head/sys/sys/gtaskqueue.h	Fri Aug 18 18:55:07 2017	(r322672)
@@ -80,7 +80,6 @@ int	taskqgroup_adjust(struct taskqgroup *qgroup, int c
 #define TASKQGROUP_DECLARE(name)			\
 extern struct taskqgroup *qgroup_##name
 
-#ifdef EARLY_AP_STARTUP
 #define TASKQGROUP_DEFINE(name, cnt, stride)				\
 									\
 struct taskqgroup *qgroup_##name;					\
@@ -89,23 +88,9 @@ static void								\
 taskqgroup_define_##name(void *arg)					\
 {									\
 	qgroup_##name = taskqgroup_create(#name);			\
-	taskqgroup_adjust(qgroup_##name, (cnt), (stride));		\
 }									\
 									\
-SYSINIT(taskqgroup_##name, SI_SUB_INIT_IF, SI_ORDER_FIRST,		\
-	taskqgroup_define_##name, NULL)
-#else /* !EARLY_AP_STARTUP */
-#define TASKQGROUP_DEFINE(name, cnt, stride)				\
-									\
-struct taskqgroup *qgroup_##name;					\
-									\
-static void								\
-taskqgroup_define_##name(void *arg)					\
-{									\
-	qgroup_##name = taskqgroup_create(#name);			\
-}									\
-									\
-SYSINIT(taskqgroup_##name, SI_SUB_INIT_IF, SI_ORDER_FIRST,		\
+SYSINIT(taskqgroup_##name, SI_SUB_TASKQ, SI_ORDER_FIRST,		\
 	taskqgroup_define_##name, NULL);				\
 									\
 static void								\
@@ -116,7 +101,6 @@ taskqgroup_adjust_##name(void *arg)					\
 									\
 SYSINIT(taskqgroup_adj_##name, SI_SUB_SMP, SI_ORDER_ANY,		\
 	taskqgroup_adjust_##name, NULL)
-#endif /* EARLY_AP_STARTUP */
 
 TASKQGROUP_DECLARE(net);
 TASKQGROUP_DECLARE(softirq);


More information about the svn-src-all mailing list