diff options
| author | David Rientjes <rientjes@google.com> | 2012-12-11 16:02:54 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 17:22:27 -0800 | 
| commit | a9c58b907dbc6821533dfc295b63caf111ff1f16 (patch) | |
| tree | e50714c48de89400a02a8e92ef4e240c5206bbcc /fs/proc/base.c | |
| parent | fa264375175a382621c5344a6508e02ec4d1c3c0 (diff) | |
| download | olio-linux-3.10-a9c58b907dbc6821533dfc295b63caf111ff1f16.tar.xz olio-linux-3.10-a9c58b907dbc6821533dfc295b63caf111ff1f16.zip  | |
mm, oom: change type of oom_score_adj to short
The maximum oom_score_adj is 1000 and the minimum oom_score_adj is -1000,
so this range can be represented by the signed short type with no
functional change.  The extra space this frees up in struct signal_struct
will be used for per-thread oom kill flags in the next patch.
Signed-off-by: David Rientjes <rientjes@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Cc: Anton Vorontsov <anton.vorontsov@linaro.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/proc/base.c')
| -rw-r--r-- | fs/proc/base.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c index 9e28356a959..aa63d25157b 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -985,7 +985,7 @@ static ssize_t oom_score_adj_read(struct file *file, char __user *buf,  {  	struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);  	char buffer[PROC_NUMBUF]; -	int oom_score_adj = OOM_SCORE_ADJ_MIN; +	short oom_score_adj = OOM_SCORE_ADJ_MIN;  	unsigned long flags;  	size_t len; @@ -996,7 +996,7 @@ static ssize_t oom_score_adj_read(struct file *file, char __user *buf,  		unlock_task_sighand(task, &flags);  	}  	put_task_struct(task); -	len = snprintf(buffer, sizeof(buffer), "%d\n", oom_score_adj); +	len = snprintf(buffer, sizeof(buffer), "%hd\n", oom_score_adj);  	return simple_read_from_buffer(buf, count, ppos, buffer, len);  } @@ -1043,15 +1043,15 @@ static ssize_t oom_score_adj_write(struct file *file, const char __user *buf,  		goto err_task_lock;  	} -	if (oom_score_adj < task->signal->oom_score_adj_min && +	if ((short)oom_score_adj < task->signal->oom_score_adj_min &&  			!capable(CAP_SYS_RESOURCE)) {  		err = -EACCES;  		goto err_sighand;  	} -	task->signal->oom_score_adj = oom_score_adj; +	task->signal->oom_score_adj = (short)oom_score_adj;  	if (has_capability_noaudit(current, CAP_SYS_RESOURCE)) -		task->signal->oom_score_adj_min = oom_score_adj; +		task->signal->oom_score_adj_min = (short)oom_score_adj;  	trace_oom_score_adj_update(task);  err_sighand:  |