git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git]
/
kernel
/
sched
/
core.c
diff --git
a/kernel/sched/core.c
b/kernel/sched/core.c
index
9c1629c
..
e3ed0ec
100644
(file)
--- a/
kernel/sched/core.c
+++ b/
kernel/sched/core.c
@@
-71,7
+71,9
@@
#include <linux/ftrace.h>
#include <linux/slab.h>
#include <linux/init_task.h>
#include <linux/ftrace.h>
#include <linux/slab.h>
#include <linux/init_task.h>
+#include <linux/binfmts.h>
+#include <asm/switch_to.h>
#include <asm/tlb.h>
#include <asm/irq_regs.h>
#include <asm/mutex.h>
#include <asm/tlb.h>
#include <asm/irq_regs.h>
#include <asm/mutex.h>
@@
-162,13
+164,13
@@
static int sched_feat_show(struct seq_file *m, void *v)
#ifdef HAVE_JUMP_LABEL
#ifdef HAVE_JUMP_LABEL
-#define jump_label_key__true
jump_label_key_enabled
-#define jump_label_key__false
jump_label_key_disabled
+#define jump_label_key__true
STATIC_KEY_INIT_TRUE
+#define jump_label_key__false
STATIC_KEY_INIT_FALSE
#define SCHED_FEAT(name, enabled) \
jump_label_key__##enabled ,
#define SCHED_FEAT(name, enabled) \
jump_label_key__##enabled ,
-struct
jump_label
_key sched_feat_keys[__SCHED_FEAT_NR] = {
+struct
static
_key sched_feat_keys[__SCHED_FEAT_NR] = {
#include "features.h"
};
#include "features.h"
};
@@
-176,14
+178,14
@@
struct jump_label_key sched_feat_keys[__SCHED_FEAT_NR] = {
static void sched_feat_disable(int i)
{
static void sched_feat_disable(int i)
{
- if (
jump_label
_enabled(&sched_feat_keys[i]))
-
jump_label
_dec(&sched_feat_keys[i]);
+ if (
static_key
_enabled(&sched_feat_keys[i]))
+
static_key_slow
_dec(&sched_feat_keys[i]);
}
static void sched_feat_enable(int i)
{
}
static void sched_feat_enable(int i)
{
- if (!
jump_label
_enabled(&sched_feat_keys[i]))
-
jump_label
_inc(&sched_feat_keys[i]);
+ if (!
static_key
_enabled(&sched_feat_keys[i]))
+
static_key_slow
_inc(&sched_feat_keys[i]);
}
#else
static void sched_feat_disable(int i) { };
}
#else
static void sched_feat_disable(int i) { };
@@
-894,7
+896,7
@@
static void update_rq_clock_task(struct rq *rq, s64 delta)
delta -= irq_delta;
#endif
#ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING
delta -= irq_delta;
#endif
#ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING
- if (static_
branch
((¶virt_steal_rq_enabled))) {
+ if (static_
key_false
((¶virt_steal_rq_enabled))) {
u64 st;
steal = paravirt_steal_clock(cpu_of(rq));
u64 st;
steal = paravirt_steal_clock(cpu_of(rq));
@@
-2784,7
+2786,7
@@
void account_idle_time(cputime_t cputime)
static __always_inline bool steal_account_process_tick(void)
{
#ifdef CONFIG_PARAVIRT
static __always_inline bool steal_account_process_tick(void)
{
#ifdef CONFIG_PARAVIRT
- if (static_
branch
(¶virt_steal_enabled)) {
+ if (static_
key_false
(¶virt_steal_enabled)) {
u64 steal, st = 0;
steal = paravirt_steal_clock(smp_processor_id());
u64 steal, st = 0;
steal = paravirt_steal_clock(smp_processor_id());
@@
-7601,8
+7603,7
@@
static inline struct task_group *cgroup_tg(struct cgroup *cgrp)
struct task_group, css);
}
struct task_group, css);
}
-static struct cgroup_subsys_state *
-cpu_cgroup_create(struct cgroup_subsys *ss, struct cgroup *cgrp)
+static struct cgroup_subsys_state *cpu_cgroup_create(struct cgroup *cgrp)
{
struct task_group *tg, *parent;
{
struct task_group *tg, *parent;
@@
-7619,15
+7620,14
@@
cpu_cgroup_create(struct cgroup_subsys *ss, struct cgroup *cgrp)
return &tg->css;
}
return &tg->css;
}
-static void
-cpu_cgroup_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp)
+static void cpu_cgroup_destroy(struct cgroup *cgrp)
{
struct task_group *tg = cgroup_tg(cgrp);
sched_destroy_group(tg);
}
{
struct task_group *tg = cgroup_tg(cgrp);
sched_destroy_group(tg);
}
-static int cpu_cgroup_can_attach(struct cgroup
_subsys *ss, struct cgroup
*cgrp,
+static int cpu_cgroup_can_attach(struct cgroup *cgrp,
struct cgroup_taskset *tset)
{
struct task_struct *task;
struct cgroup_taskset *tset)
{
struct task_struct *task;
@@
-7645,7
+7645,7
@@
static int cpu_cgroup_can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
return 0;
}
return 0;
}
-static void cpu_cgroup_attach(struct cgroup
_subsys *ss, struct cgroup
*cgrp,
+static void cpu_cgroup_attach(struct cgroup *cgrp,
struct cgroup_taskset *tset)
{
struct task_struct *task;
struct cgroup_taskset *tset)
{
struct task_struct *task;
@@
-7655,8
+7655,8
@@
static void cpu_cgroup_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
}
static void
}
static void
-cpu_cgroup_exit(struct cgroup
_subsys *ss, struct cgroup *
cgrp,
- struct
cgroup *old_cgrp, struct
task_struct *task)
+cpu_cgroup_exit(struct cgroup
*cgrp, struct cgroup *old_
cgrp,
+ struct task_struct *task)
{
/*
* cgroup_exit() is called in the copy_process() failure path.
{
/*
* cgroup_exit() is called in the copy_process() failure path.
@@
-8006,8
+8006,7
@@
struct cgroup_subsys cpu_cgroup_subsys = {
*/
/* create a new cpu accounting group */
*/
/* create a new cpu accounting group */
-static struct cgroup_subsys_state *cpuacct_create(
- struct cgroup_subsys *ss, struct cgroup *cgrp)
+static struct cgroup_subsys_state *cpuacct_create(struct cgroup *cgrp)
{
struct cpuacct *ca;
{
struct cpuacct *ca;
@@
-8037,8
+8036,7
@@
out:
}
/* destroy an existing cpu accounting group */
}
/* destroy an existing cpu accounting group */
-static void
-cpuacct_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp)
+static void cpuacct_destroy(struct cgroup *cgrp)
{
struct cpuacct *ca = cgroup_ca(cgrp);
{
struct cpuacct *ca = cgroup_ca(cgrp);