Merge branch 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers: Logic to move non pinned timers timers: /proc/sys sysctl hook to enable timer migration timers: Identifying the existing pinned timers timers: Framework for identifying pinned timers timers: allow deferrable timers for intervals tv2-tv5 to be deferred Fix up conflicts in kernel/sched.c and kernel/timer.c manually
This commit is contained in:
@@ -240,7 +240,7 @@ static void start_rt_bandwidth(struct rt_bandwidth *rt_b)
|
||||
hard = hrtimer_get_expires(&rt_b->rt_period_timer);
|
||||
delta = ktime_to_ns(ktime_sub(hard, soft));
|
||||
__hrtimer_start_range_ns(&rt_b->rt_period_timer, soft, delta,
|
||||
HRTIMER_MODE_ABS, 0);
|
||||
HRTIMER_MODE_ABS_PINNED, 0);
|
||||
}
|
||||
spin_unlock(&rt_b->rt_runtime_lock);
|
||||
}
|
||||
@@ -1155,7 +1155,7 @@ static __init void init_hrtick(void)
|
||||
static void hrtick_start(struct rq *rq, u64 delay)
|
||||
{
|
||||
__hrtimer_start_range_ns(&rq->hrtick_timer, ns_to_ktime(delay), 0,
|
||||
HRTIMER_MODE_REL, 0);
|
||||
HRTIMER_MODE_REL_PINNED, 0);
|
||||
}
|
||||
|
||||
static inline void init_hrtick(void)
|
||||
@@ -4397,6 +4397,11 @@ static struct {
|
||||
.load_balancer = ATOMIC_INIT(-1),
|
||||
};
|
||||
|
||||
int get_nohz_load_balancer(void)
|
||||
{
|
||||
return atomic_read(&nohz.load_balancer);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SCHED_MC) || defined(CONFIG_SCHED_SMT)
|
||||
/**
|
||||
* lowest_flag_domain - Return lowest sched_domain containing flag.
|
||||
@@ -9029,6 +9034,8 @@ void __init sched_init_smp(void)
|
||||
}
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
const_debug unsigned int sysctl_timer_migration = 1;
|
||||
|
||||
int in_sched_functions(unsigned long addr)
|
||||
{
|
||||
return in_lock_functions(addr) ||
|
||||
|
||||
Reference in New Issue
Block a user