svn commit: r268483 - stable/10/sys/kern

Konstantin Belousov kib at FreeBSD.org
Thu Jul 10 09:08:02 UTC 2014


Author: kib
Date: Thu Jul 10 09:08:02 2014
New Revision: 268483
URL: http://svnweb.freebsd.org/changeset/base/268483

Log:
  MFC r268211:
  Micro-manage clang to get the expected inlining for cpu_search().

Modified:
  stable/10/sys/kern/sched_ule.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/kern/sched_ule.c
==============================================================================
--- stable/10/sys/kern/sched_ule.c	Thu Jul 10 07:16:55 2014	(r268482)
+++ stable/10/sys/kern/sched_ule.c	Thu Jul 10 09:08:02 2014	(r268483)
@@ -622,12 +622,14 @@ struct cpu_search {
 	for ((cpu) = 0; (cpu) <= mp_maxid; (cpu)++)		\
 		if (CPU_ISSET(cpu, &mask))
 
-static __inline int cpu_search(const struct cpu_group *cg, struct cpu_search *low,
-    struct cpu_search *high, const int match);
-int cpu_search_lowest(const struct cpu_group *cg, struct cpu_search *low);
-int cpu_search_highest(const struct cpu_group *cg, struct cpu_search *high);
-int cpu_search_both(const struct cpu_group *cg, struct cpu_search *low,
+static __always_inline int cpu_search(const struct cpu_group *cg,
+    struct cpu_search *low, struct cpu_search *high, const int match);
+int __noinline cpu_search_lowest(const struct cpu_group *cg,
+    struct cpu_search *low);
+int __noinline cpu_search_highest(const struct cpu_group *cg,
     struct cpu_search *high);
+int __noinline cpu_search_both(const struct cpu_group *cg,
+    struct cpu_search *low, struct cpu_search *high);
 
 /*
  * Search the tree of cpu_groups for the lowest or highest loaded cpu
@@ -640,7 +642,7 @@ int cpu_search_both(const struct cpu_gro
  * match argument.  It is reduced to the minimum set for each case.  It is
  * also recursive to the depth of the tree.
  */
-static __inline int
+static __always_inline int
 cpu_search(const struct cpu_group *cg, struct cpu_search *low,
     struct cpu_search *high, const int match)
 {


More information about the svn-src-all mailing list