diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-09-12 14:41:59 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-09-12 14:41:58 -0700 |
| commit | 14f6bfeeebb97c02cbf0c43818f7998e3bdb3cae (patch) | |
| tree | 055fbddd1e98f289dc9c65cb65a8e37fc2dbc151 /include/linux | |
| parent | 043f52c20a63011ae14175e56926076965d59353 (diff) | |
| parent | 03f50f905f9f7cadbb1b3cd82c078806bfd77703 (diff) | |
Merge "Merge android-4.4@610af85 (v4.4.85) into msm-4.4"
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/cpuset.h | 7 | ||||
| -rw-r--r-- | include/linux/sched.h | 33 |
2 files changed, 22 insertions, 18 deletions
diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index 85a868ccb493..8397dc235e84 100644 --- a/include/linux/cpuset.h +++ b/include/linux/cpuset.h @@ -16,6 +16,7 @@ #ifdef CONFIG_CPUSETS +extern struct static_key cpusets_pre_enable_key; extern struct static_key cpusets_enabled_key; static inline bool cpusets_enabled(void) { @@ -30,12 +31,14 @@ static inline int nr_cpusets(void) static inline void cpuset_inc(void) { + static_key_slow_inc(&cpusets_pre_enable_key); static_key_slow_inc(&cpusets_enabled_key); } static inline void cpuset_dec(void) { static_key_slow_dec(&cpusets_enabled_key); + static_key_slow_dec(&cpusets_pre_enable_key); } extern int cpuset_init(void); @@ -104,7 +107,7 @@ extern void cpuset_print_current_mems_allowed(void); */ static inline unsigned int read_mems_allowed_begin(void) { - if (!cpusets_enabled()) + if (!static_key_false(&cpusets_pre_enable_key)) return 0; return read_seqcount_begin(¤t->mems_allowed_seq); @@ -118,7 +121,7 @@ static inline unsigned int read_mems_allowed_begin(void) */ static inline bool read_mems_allowed_retry(unsigned int seq) { - if (!cpusets_enabled()) + if (!static_key_false(&cpusets_enabled_key)) return false; return read_seqcount_retry(¤t->mems_allowed_seq, seq); diff --git a/include/linux/sched.h b/include/linux/sched.h index d1542e5cc81b..2716faadc618 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2201,22 +2201,6 @@ static inline pid_t task_tgid_nr(struct task_struct *tsk) static inline int pid_alive(const struct task_struct *p); static inline pid_t task_tgid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns); -static inline pid_t task_ppid_nr_ns(const struct task_struct *tsk, struct pid_namespace *ns) -{ - pid_t pid = 0; - - rcu_read_lock(); - if (pid_alive(tsk)) - pid = task_tgid_nr_ns(rcu_dereference(tsk->real_parent), ns); - rcu_read_unlock(); - - return pid; -} - -static inline pid_t task_ppid_nr(const struct task_struct *tsk) -{ - return task_ppid_nr_ns(tsk, &init_pid_ns); -} static inline pid_t task_pgrp_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) @@ -2251,6 +2235,23 @@ static inline pid_t task_tgid_vnr(struct task_struct *tsk) return __task_pid_nr_ns(tsk, __PIDTYPE_TGID, NULL); } +static inline pid_t task_ppid_nr_ns(const struct task_struct *tsk, struct pid_namespace *ns) +{ + pid_t pid = 0; + + rcu_read_lock(); + if (pid_alive(tsk)) + pid = task_tgid_nr_ns(rcu_dereference(tsk->real_parent), ns); + rcu_read_unlock(); + + return pid; +} + +static inline pid_t task_ppid_nr(const struct task_struct *tsk) +{ + return task_ppid_nr_ns(tsk, &init_pid_ns); +} + /* obsolete, do not use */ static inline pid_t task_pgrp_nr(struct task_struct *tsk) { |
