[PATCH] pacct: add pacct_struct to fix some pacct bugs.
The pacct facility need an i/o operation when an accounting record is generated. There is a possibility to wake OOM killer up. If OOM killer is activated, it kills some processes to make them release process memory regions. But acct_process() is called in the killed processes context before calling exit_mm(), so those processes cannot release own memory. In the results, any processes stop in this point and it finally cause a system stall.
This commit is contained in:
committed by
Linus Torvalds
parent
6bc392741d
commit
0e4648141a
@@ -874,6 +874,7 @@ static inline int copy_signal(unsigned long clone_flags, struct task_struct * ts
|
||||
tsk->it_prof_expires =
|
||||
secs_to_cputime(sig->rlim[RLIMIT_CPU].rlim_cur);
|
||||
}
|
||||
acct_init_pacct(&sig->pacct);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user