|
@@ -7,25 +7,20 @@
|
|
|
|
|
|
|
|
#ifdef CONFIG_NO_HZ_FULL
|
|
#ifdef CONFIG_NO_HZ_FULL
|
|
|
extern cpumask_var_t housekeeping_mask;
|
|
extern cpumask_var_t housekeeping_mask;
|
|
|
-
|
|
|
|
|
-static inline int housekeeping_any_cpu(void)
|
|
|
|
|
-{
|
|
|
|
|
- return cpumask_any_and(housekeeping_mask, cpu_online_mask);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
extern void __init housekeeping_init(void);
|
|
extern void __init housekeeping_init(void);
|
|
|
-
|
|
|
|
|
#else
|
|
#else
|
|
|
|
|
+static inline void housekeeping_init(void) { }
|
|
|
|
|
+#endif /* CONFIG_NO_HZ_FULL */
|
|
|
|
|
|
|
|
static inline int housekeeping_any_cpu(void)
|
|
static inline int housekeeping_any_cpu(void)
|
|
|
{
|
|
{
|
|
|
|
|
+#ifdef CONFIG_NO_HZ_FULL
|
|
|
|
|
+ if (tick_nohz_full_enabled())
|
|
|
|
|
+ return cpumask_any_and(housekeeping_mask, cpu_online_mask);
|
|
|
|
|
+#endif
|
|
|
return smp_processor_id();
|
|
return smp_processor_id();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-static inline void housekeeping_init(void) { }
|
|
|
|
|
-#endif /* CONFIG_NO_HZ_FULL */
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
static inline const struct cpumask *housekeeping_cpumask(void)
|
|
static inline const struct cpumask *housekeeping_cpumask(void)
|
|
|
{
|
|
{
|
|
|
#ifdef CONFIG_NO_HZ_FULL
|
|
#ifdef CONFIG_NO_HZ_FULL
|