linux/Documentation/filesystems
Mandeep Singh Baines dabb16f639 oom: allow a non-CAP_SYS_RESOURCE proces to oom_score_adj down
We'd like to be able to oom_score_adj a process up/down as it
enters/leaves the foreground.  Currently, it is not possible to oom_adj
down without CAP_SYS_RESOURCE.  This patch allows a task to decrease its
oom_score_adj back to the value that a CAP_SYS_RESOURCE thread set it to
or its inherited value at fork.  Assuming the thread that has forked it
has oom_score_adj of 0, each process could decrease it back from 0 upon
activation unless a CAP_SYS_RESOURCE thread elevated it to something
higher.

Alternative considered:

* a setuid binary
* a daemon with CAP_SYS_RESOURCE

Since you don't wan't all processes to be able to reduce their oom_adj, a
setuid or daemon implementation would be complex.  The alternatives also
have much higher overhead.

This patch updated from original patch based on feedback from David
Rientjes.

Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Acked-by: David Rientjes <rientjes@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Ying Han <yinghan@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-01-13 17:32:35 -08:00
..
caching fscache: convert object to use workqueue instead of slow-work 2010-07-22 22:58:34 +02:00
configfs Documentation: make configfs example code simpler, clearer 2010-11-18 15:00:46 -08:00
nfs NFS: rename nfs.upcall -> nfs.idmap 2010-10-26 13:57:10 -04:00
pohmelfs Staging: Pohmelfs: Added IO permissions and priorities. 2009-04-17 11:06:30 -07:00
00-INDEX smbfs: move to drivers/staging 2010-10-05 09:08:21 -07:00
9p.txt fs/9p: Add access = client option to opt in acl evaluation. 2010-10-28 09:08:46 -05:00
Locking fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
Makefile Documentation/fs/: split txt and source files 2010-03-12 15:52:35 -08:00
adfs.txt
affs.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
afs.txt AFS: Documentation updates 2009-08-19 10:40:13 -07:00
autofs4-mount-control.txt Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
automount-support.txt
befs.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
bfs.txt
btrfs.txt Btrfs: Add Documentation/filesystem/btrfs.txt, remove old COPYING 2009-01-07 09:54:24 -05:00
ceph.txt Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
cifs.txt
coda.txt
cramfs.txt
debugfs.txt Document the debugfs API 2009-06-06 10:28:14 -06:00
devpts.txt Document usage of multiple-instances of devpts 2009-01-02 10:19:36 -08:00
directory-locking
dlmfs.txt Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
dnotify.txt Documentation/fs/: split txt and source files 2010-03-12 15:52:35 -08:00
dnotify_test.c Documentation/fs/: split txt and source files 2010-03-12 15:52:35 -08:00
ecryptfs.txt
exofs.txt trivial: some small fixes in exofs documentation 2009-12-10 09:59:16 +02:00
ext2.txt Doc fix: ext2 can only have 32,000 subdirs, not 32,768 2009-06-18 13:03:44 -07:00
ext3.txt ext3: make barrier options consistent with ext4 2010-05-21 19:30:41 +02:00
ext4.txt ext4: add support for lazy inode table initialization 2010-10-27 21:30:05 -04:00
fiemap.txt Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
files.txt fix f_count description in Documentation/filesystems/files.txt 2008-12-31 18:07:42 -05:00
fuse.txt Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
gfs2-glocks.txt GFS2: Update docs 2009-05-19 10:23:23 +01:00
gfs2-uevents.txt GFS2: Add a document explaining GFS2's uevents 2009-08-17 11:11:41 +01:00
gfs2.txt GFS2: docs update 2010-03-29 14:28:52 +01:00
hfs.txt
hfsplus.txt
hpfs.txt Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
inotify.txt
isofs.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
jfs.txt
locks.txt
logfs.txt fix "seperate" typos in comments 2010-05-10 11:56:30 +02:00
mandatory-locking.txt
ncpfs.txt ncpfs: remove dead URL from documentation 2009-09-23 07:39:42 -07:00
nilfs2.txt nilfs2: add nodiscard mount option 2010-07-23 10:02:12 +09:00
ntfs.txt NTFS: writev() fix and maintenance/contact details update 2011-01-12 08:35:53 -08:00
ocfs2.txt ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes. 2010-10-11 14:14:55 -07:00
omfs.txt
path-lookup.txt fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
porting fs: add documentation on fallocate hole punching 2011-01-12 20:19:03 -05:00
proc.txt oom: allow a non-CAP_SYS_RESOURCE proces to oom_score_adj down 2011-01-13 17:32:35 -08:00
quota.txt
ramfs-rootfs-initramfs.txt
relay.txt
romfs.txt
seq_file.txt seq_file: use proc_create() in documentation 2009-12-16 07:20:07 -08:00
sharedsubtree.txt Documentation: Fix trivial typo in filesystems/sharedsubtree.txt 2010-10-25 21:18:21 -04:00
spufs.txt
squashfs.txt Squashfs: update Kconfig and documentation for LZO 2010-08-05 23:42:54 +01:00
sysfs-pci.txt PCI: Allow read/write access to sysfs I/O port resources 2010-07-30 09:32:08 -07:00
sysfs-tagging.txt sysfs-namespaces: add a high-level Documentation file 2010-05-21 09:37:31 -07:00
sysfs.txt sysfs: Fix one more signature discrepancy between sysfs implementation and docs. 2010-08-05 13:53:34 -07:00
sysv-fs.txt
tmpfs.txt mempolicy: document cpuset interaction with tmpfs mpol mount option 2010-05-25 08:06:57 -07:00
ubifs.txt UBIFS: remove fast unmounting 2009-01-29 16:34:30 +02:00
udf.txt udf: implement mode and dmode mounting options 2009-04-02 12:29:50 +02:00
ufs.txt
vfat.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
vfs.txt fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
xfs-delayed-logging-design.txt xfs: remove experimental tag from the delaylog option 2010-11-10 12:00:47 -06:00
xfs.txt xfs: remove obsolete osyncisosync mount option 2010-07-26 13:16:51 -05:00
xip.txt