projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drm/i915: release struct_mutex on the i915_gem_init_hw fail path
[firefly-linux-kernel-4.4.55.git]
/
kernel
/
sched
/
auto_group.h
diff --git
a/kernel/sched/auto_group.h
b/kernel/sched/auto_group.h
index 4552c6bf79d2e1720054d2f5abe417ea22a9f49a..8bd047142816dea81894bb27ccc3c78a38ac3d61 100644
(file)
--- a/
kernel/sched/auto_group.h
+++ b/
kernel/sched/auto_group.h
@@
-4,6
+4,11
@@
#include <linux/rwsem.h>
struct autogroup {
#include <linux/rwsem.h>
struct autogroup {
+ /*
+ * reference doesn't mean how many thread attach to this
+ * autogroup now. It just stands for the number of task
+ * could use this autogroup.
+ */
struct kref kref;
struct task_group *tg;
struct rw_semaphore lock;
struct kref kref;
struct task_group *tg;
struct rw_semaphore lock;
@@
-24,7
+29,9
@@
extern bool task_wants_autogroup(struct task_struct *p, struct task_group *tg);
static inline struct task_group *
autogroup_task_group(struct task_struct *p, struct task_group *tg)
{
static inline struct task_group *
autogroup_task_group(struct task_struct *p, struct task_group *tg)
{
- if (task_wants_autogroup(p, tg))
+ int enabled = ACCESS_ONCE(sysctl_sched_autogroup_enabled);
+
+ if (enabled && task_wants_autogroup(p, tg))
return p->signal->autogroup->tg;
return tg;
return p->signal->autogroup->tg;
return tg;