projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mm: memcg: do not trap chargers with full callstack on OOM
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
include
/
linux
/
sched.h
diff --git
a/include/linux/sched.h
b/include/linux/sched.h
index
ce1e1c0
..
6682da3
100644
(file)
--- a/
include/linux/sched.h
+++ b/
include/linux/sched.h
@@
-1393,6
+1393,13
@@
struct task_struct {
unsigned long memsw_nr_pages; /* uncharged mem+swap usage */
} memcg_batch;
unsigned int memcg_kmem_skip_account;
unsigned long memsw_nr_pages; /* uncharged mem+swap usage */
} memcg_batch;
unsigned int memcg_kmem_skip_account;
+ struct memcg_oom_info {
+ unsigned int may_oom:1;
+ unsigned int in_memcg_oom:1;
+ unsigned int oom_locked:1;
+ int wakeups;
+ struct mem_cgroup *wait_on_memcg;
+ } memcg_oom;
#endif
#ifdef CONFIG_UPROBES
struct uprobe_task *utask;
#endif
#ifdef CONFIG_UPROBES
struct uprobe_task *utask;
@@
-2169,15
+2176,15
@@
static inline bool thread_group_leader(struct task_struct *p)
* all we care about is that we have a task with the appropriate
* pid, we don't actually care if we have the right task.
*/
* all we care about is that we have a task with the appropriate
* pid, we don't actually care if we have the right task.
*/
-static inline
int
has_group_leader_pid(struct task_struct *p)
+static inline
bool
has_group_leader_pid(struct task_struct *p)
{
{
- return
p->pid == p->tg
id;
+ return
task_pid(p) == p->signal->leader_p
id;
}
static inline
}
static inline
-
int
same_thread_group(struct task_struct *p1, struct task_struct *p2)
+
bool
same_thread_group(struct task_struct *p1, struct task_struct *p2)
{
{
- return p1->
tgid == p2->tgid
;
+ return p1->
signal == p2->signal
;
}
static inline struct task_struct *next_thread(const struct task_struct *p)
}
static inline struct task_struct *next_thread(const struct task_struct *p)