Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757089Ab0HaJas (ORCPT ); Tue, 31 Aug 2010 05:30:48 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:39346 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756928Ab0HaJar (ORCPT ); Tue, 31 Aug 2010 05:30:47 -0400 X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.3.1 From: KOSAKI Motohiro To: KOSAKI Motohiro Subject: [BUGFIX for 2.6.36][RESEND][PATCH 2/2] Revert "oom: deprecate oom_adj tunable" Cc: kosaki.motohiro@jp.fujitsu.com, LKML , linux-mm , Andrew Morton , Linus Torvalds , KAMEZAWA Hiroyuki , David Rientjes In-Reply-To: <20100831181911.87E7.A69D9226@jp.fujitsu.com> References: <20100831181911.87E7.A69D9226@jp.fujitsu.com> Message-Id: <20100831182956.87EA.A69D9226@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.50.07 [ja] Date: Tue, 31 Aug 2010 18:30:40 +0900 (JST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4226 Lines: 108 oom_adj is not only used for kernel knob, but also used for application interface. Then, adding new knob is no good reason to deprecate it. Also, after former patch, oom_score_adj can't be used for setting OOM_DISABLE. We need "echo -17 > /proc//oom_adj" thing. This reverts commit 51b1bd2ace1595b72956224deda349efa880b693. --- Documentation/feature-removal-schedule.txt | 25 ------------------------- Documentation/filesystems/proc.txt | 3 --- fs/proc/base.c | 8 -------- include/linux/oom.h | 3 --- 4 files changed, 0 insertions(+), 39 deletions(-) diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 842aa9d..aff4d11 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt @@ -151,31 +151,6 @@ Who: Eric Biederman --------------------------- -What: /proc//oom_adj -When: August 2012 -Why: /proc//oom_adj allows userspace to influence the oom killer's - badness heuristic used to determine which task to kill when the kernel - is out of memory. - - The badness heuristic has since been rewritten since the introduction of - this tunable such that its meaning is deprecated. The value was - implemented as a bitshift on a score generated by the badness() - function that did not have any precise units of measure. With the - rewrite, the score is given as a proportion of available memory to the - task allocating pages, so using a bitshift which grows the score - exponentially is, thus, impossible to tune with fine granularity. - - A much more powerful interface, /proc//oom_score_adj, was - introduced with the oom killer rewrite that allows users to increase or - decrease the badness() score linearly. This interface will replace - /proc//oom_adj. - - A warning will be emitted to the kernel log if an application uses this - deprecated interface. After it is printed once, future warnings will be - suppressed until the kernel is rebooted. - ---------------------------- - What: remove EXPORT_SYMBOL(kernel_thread) When: August 2006 Files: arch/*/kernel/*_ksyms.c diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index a6aca87..cf1295c 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -1285,9 +1285,6 @@ scaled linearly with /proc//oom_score_adj. Writing to /proc//oom_score_adj or /proc//oom_adj will change the other with its scaled value. -NOTICE: /proc//oom_adj is deprecated and will be removed, please see -Documentation/feature-removal-schedule.txt. - Caveat: when a parent task is selected, the oom killer will sacrifice any first generation children with seperate address spaces instead, if possible. This avoids servers and important system daemons from being killed and loses the diff --git a/fs/proc/base.c b/fs/proc/base.c index 90ba487..55a16f2 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -1046,14 +1046,6 @@ static ssize_t oom_adjust_write(struct file *file, const char __user *buf, return -EACCES; } - /* - * Warn that /proc/pid/oom_adj is deprecated, see - * Documentation/feature-removal-schedule.txt. - */ - printk_once(KERN_WARNING "%s (%d): /proc/%d/oom_adj is deprecated, " - "please use /proc/%d/oom_score_adj instead.\n", - current->comm, task_pid_nr(current), - task_pid_nr(task), task_pid_nr(task)); task->signal->oom_adj = oom_adjust; unlock_task_sighand(task, &flags); diff --git a/include/linux/oom.h b/include/linux/oom.h index 21006dc..394f2e6 100644 --- a/include/linux/oom.h +++ b/include/linux/oom.h @@ -2,9 +2,6 @@ #define __INCLUDE_LINUX_OOM_H /* - * /proc//oom_adj is deprecated, see - * Documentation/feature-removal-schedule.txt. - * * /proc//oom_adj set to -17 protects from the oom-killer */ #define OOM_DISABLE (-17) -- 1.6.5.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/