From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751293AbdFASg2 (ORCPT ); Thu, 1 Jun 2017 14:36:28 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:53479 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751230AbdFASgX (ORCPT ); Thu, 1 Jun 2017 14:36:23 -0400 Authentication-Results: kvack.org; dkim=none (message not signed) header.d=none;kvack.org; dmarc=none action=none header.from=fb.com; From: Roman Gushchin To: CC: Roman Gushchin , Tejun Heo , Johannes Weiner , Li Zefan , Michal Hocko , Vladimir Davydov , Tetsuo Handa , , , , Subject: [RFC PATCH v2 3/7] mm, oom: export oom_evaluate_task() and select_bad_process() Date: Thu, 1 Jun 2017 19:35:11 +0100 Message-ID: <1496342115-3974-4-git-send-email-guro@fb.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1496342115-3974-1-git-send-email-guro@fb.com> References: <1496342115-3974-1-git-send-email-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:200::1:ebb3] X-ClientProxiedBy: DB6PR07CA0129.eurprd07.prod.outlook.com (10.170.219.22) To DM3PR15MB1081.namprd15.prod.outlook.com (10.166.160.135) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM3PR15MB1081: X-MS-Office365-Filtering-Correlation-Id: f793ebfc-72d3-4dd4-8eae-08d4a91d0792 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DM3PR15MB1081; X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;3:Xfi5nGPiVre/7g++lE7ONovm7tt/v4kJooVj8dFiXDAbLRiNA4GPgUC9wMWNIsxsYtxiJA8GGhqZQIZnZhS4+WVgHucMhiE3/c9/tVkCdwRvMMqyh5S4zJol/V1aIlOSs3ViTJ1ch6NowNuQZeX0XKf+TQl93CH8W0zXJiZZdTgbwB9pC9wrbLcxRc7uBRWM4+V/lH3N3IjEoEClQhWD22t9HBBX4kRWxztretdYNkHmGlCrZtt0CPqmhAD1dgYoemU/xVpglQnfq3fYDe5nB3Eq3qLKMbCOCfuJKR0vh1FS5/hNjbE7TMSsm0DOj2EnXTDDBBsReGLVZcxNIh/aQg==;25:NX3r/6yeH9pyYi9ZqORgsB0WpQs6mAg2S9bKRXPV4vVLjYfnWE/ArL4b7+KcpAE0TOEPALACzqRY0MBkFONxHpr8JDkfvaD+BMKpsmgy4cCOirEZ6KEEDymhEjOpDRzq2AZvBpJb+bCUn9o+68iWlaht0BRPY3o5/dJJTF4EGeCBUX5wTogFcMebYz173nKa/+50uCrcCOPbTUg0ncVeXRmEskjGzDiIPj/RDz6GvaI2O9d7CowxYiQcqrzzuuHkaMnyhjgQgg9HSKtY5oWpHZ9dnkOdDzeK1VlHhDvMEDpJ7mGzG1zRdO1qB7J1csPpbf9/5O26jRMUKvDQ/0ARoAi9D91WcHOCse8ctkMxQxAJz92qzjqOhXNqzwHRcH8TxRCaa88itDM8gA/HQgpbM2UOzQmWzCj3tJZCVQxUpGO2HMcX5PijbzkGY7fhZ+G5ea7fONdBTNIru+PEtj4gUYZK2280i7XfgPBXyBtnwnE= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;31:9FuwnufrMw+Cxr5TiwXxObrBnbL3Rs+OZFrgpo5EjIvUSjVlSX+f9HgtSyJczkv2mHqX3M+Yy3qQ5/btnjfXqWipEFb4hWQ4UQ9YjcEeIV0iTt9hmTCk0bZFddKGwXq/LdVzpc6u4c4jfyiBCp8gpFP2+cejZF5/pqsfBbh4h/Os3hoywY+DqJU4tz8i2E86VIJ+BmDs8g9xAZt7u7T2hrxV4uoiE9+VjRzs0+7xw/Q=;20:9mPJg+IOND7GDbuwMmfPMAGgXjdJcPMqED7t5JcrDs6wQLcgBBb7ZYvAZ0mj2L28grMaApTBTOA2p/qLva3XoluU9NOKvvC/WYV5/xnvU2VW6w0zM8+/y6Mz1kD0gFq9HR4+JpMk0FcIj7dAw1cPCiY0Qa6jqndFvCbIzopBsAY23QghmRGfJxIzAd03rp4o10D5odtIctC5/3kmY4y/90+ObO8eiYbbyCv/hb3dQx227kglAGbW/AM8IC0en60NAUXbD5Oeb32WVqREkJ+xGUp6LIYw+ufCYpYfn+/Gbe9LXWMSDo7hNZ3WQk1kSkKu9xWKA8MMjqXPDux/6LjJnyXbrBLE5UoH6wAouMBR5SCMohwgVQcjKJY603Ly8u9QxdpHenQoPZgpcCS7Jz9zs0K7JAjsSb4Zn0Oe1T6YgZpjifT5/hKf8QjqmaB0Ry/FFUlhHFIhJ5cnpqvgh1I9tmzxaqjrQ3Kgs5/tmh0Y4mUKbs5iYtMjY9EQtVwZwacQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(50582790962513)(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM3PR15MB1081;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM3PR15MB1081; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;4:oQmJAef46pvvZETkBKJzMmr6JwbzPl4uWQ4nEjkZli?= =?us-ascii?Q?49p2t/7lXpylbV52IbngRHDTrqSb6Fs8YsdZqJxr6nv1ucOYTUYXi8W7wWQV?= =?us-ascii?Q?es+Av5B7hrIZXhUGZwTcH4ExWQCZDVyCUPCtgezJrN+x8iwB1FBx4mmvOlp8?= =?us-ascii?Q?Xw+xAnKtG+/mqGxW1B0Nts0rX6OJvdVeLYoqc2zuRsxlOnI6BnJ5xcIU0l/o?= =?us-ascii?Q?5pYDYCiIrEWaHyVhzBp2hkXH87K73YwrvbVsi+OwyPnha+rb/Y79VpHTKSMt?= =?us-ascii?Q?A8CQq2qOmxx+5kzizwEZiXf+90wKVRb3eVDbRwpxRW0xclZvjz9lAH8pJKg1?= =?us-ascii?Q?0/R9rjfcR13hUQuCvZAjJPfJHrVXltjxl0yGlWiaunPgvehNX8FxXNla6gc4?= =?us-ascii?Q?3nFgk/y4LmBa/PO8TlRYYWvkaPQM8Xwbsdjkaxyr0J50QHXjA3viQ8yfHh8L?= =?us-ascii?Q?k8N29aghkg90ms+xE3L7kfgpl9P6F9jS6oKJx8Dk9tYb7PkfxVW8WLzstbO8?= =?us-ascii?Q?NxKyVeAJpXb5MOnwZeDC6xPsi7UNpXH9Tx5iNN5uJSmuCiZzkclR4Vc4wCzb?= =?us-ascii?Q?Adah932HlErozTFjt46LGaAqfmStzYehASPWbdisxH84bL4FyGxoNVXkrH0F?= =?us-ascii?Q?Uq2CnLbJSRGnQ8iq+7KKSZZb0DnQtR3CEEzpn6sLvG7oxgP2TvJldTMD57xo?= =?us-ascii?Q?jeIbwvuhnFr+rEUX08lt90SQr3wwTi13tCWX2wJx9yQwxRv5qo/gF3txSgPb?= =?us-ascii?Q?mYnzqPR0m/ZRGNBmk8Prwr+FVPjeGqDlwlW0b05XGF8t1ZFUdPE9RE6sn6Va?= =?us-ascii?Q?s8TtjwX+DfZUK44lecZfftbc0KFn8xFvMaPZb8VOTYPrDOvQm/n8ooqDR2RE?= =?us-ascii?Q?dvnAd8e5VqB2GgZApqPQ56Tdv2WJSThYgqYUgwsDH+VRe3c9tofCTGsn9elH?= =?us-ascii?Q?arC9Sthkq/nlbMfCFhYDywDeTSD6zcAZICeMEAYAS7c7sgRt0kLuVrebAwSt?= =?us-ascii?Q?4cYofXozYBTOob/kLFva98Jcbyl69AVztsoyrWYerTXHmVr5OLicPHkpEeIs?= =?us-ascii?Q?IJvRSmY/voDD7ZwafsVisPsgTwHCjwFIket9mUoXWp2aQksJ9o0RLOLC4wmj?= =?us-ascii?Q?FSalAQDh7yvLFzVkFg9SH1miJ45h/Mx8IsA/V0ICxOknTCYgrWVlsxMEuS1r?= =?us-ascii?Q?gzi3noRwMZBGggLdTY5VJNpByI8eVZp08AyXcplK7XQ9bwW+HFX52zmlvthm?= =?us-ascii?Q?QWCVGPOTVwVYk1qqI=3D?= X-Forefront-PRVS: 0325F6C77B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39450400003)(39400400002)(39850400002)(39840400002)(39410400002)(33646002)(5003940100001)(2351001)(6666003)(6116002)(305945005)(2950100002)(6506006)(2361001)(86362001)(6486002)(6916009)(5660300001)(8676002)(6512007)(50466002)(42186005)(48376002)(7416002)(54906002)(53416004)(81166006)(76176999)(50986999)(38730400002)(25786009)(47776003)(2906002)(53936002)(50226002)(110136004)(478600001)(7736002)(189998001)(36756003)(4326008)(217873001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM3PR15MB1081;H:castle.thefacebook.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;23:eqHs0/GrIzq7ayOVw+mAgmMp1XRSegub7ZZeJSc4C?= =?us-ascii?Q?xBwNS3JvJTig8iVEYInMIKr3XEDD1I1tfE8kbtm3KABFc+akbqvw8qmMwzg8?= =?us-ascii?Q?xDkDUej4DpHYfxRQ7FlW0Snb/nM9PoAUODwjwy65qrB9xKA0Cs3hU9i4hB8N?= =?us-ascii?Q?y4TOtIbwzjMemIxcZnE6iItpG7e9EXT3lr5atAdTBU873DBykRtScBIGYQRS?= =?us-ascii?Q?7BjE+daVgeFx/QfoB2/uYuttY5eOnQSb/u3dDbDQ+1tB5UsyQwOeF3EBTVWU?= =?us-ascii?Q?+iZD84FNUGBtScUxyMdhBFsbEp+mrpdTyQkklf9nL3QeinCgYfm24psdk+HF?= =?us-ascii?Q?S2hntCRJg2HWN2M62fslGYmSTUEd77qElPiDcqRpZoGghuCgBdbTgyWR9B0e?= =?us-ascii?Q?JSRupX+cQ3xFxzL+hKsmmgfEdasj6N7WxOboEY2PaqVhmqieot1VyWY2W58U?= =?us-ascii?Q?NWM/VsuElqbgCLTcaHYlbHrib1rCrkQl4koLhPsnIvyAvQSbjOOZTuzN4Qub?= =?us-ascii?Q?Q1/w7QCmidhWRicrp59CDKG4k9e5zeWCq6ERlCgJ2G73XqkhgjcVBxW0g/RO?= =?us-ascii?Q?4tF3g+c/O3BflTW0vOGxh+6ARrfa5GaXc+ScPxe4B+gqqrSvSsKBPfnj565P?= =?us-ascii?Q?gczAwL0ezi2xEdbt6LA9GYkaK9Ss9Wc4oRoYRxIdJq5qEd/wKQLvatjQx1+t?= =?us-ascii?Q?XRZZ7YYaJLfn6DI/9vrPPcGnNsiMVSt+V46IxpBkp5P0KAdmMp27rySMT0cz?= =?us-ascii?Q?XpefM3GX8+yUQvqNjhydGp8lGbOJg1hlvU0DeroawHhnoNm1XMYbEXcQ91pZ?= =?us-ascii?Q?ean4G0uwD31KbApg6jBIdolP3DG0qtBCOqUE6KPqex6vM0LX2UjmlzJIdFKQ?= =?us-ascii?Q?wy3INN6wsyYN0O3UnzpmTTo8icS2AW6+TZooHhufxP5gtUgSfTJ63enkL6iO?= =?us-ascii?Q?jmKmBQx9i4drovztgCs5NPnF/eMXdBQ3/bBD1UEOVksWYPPhQhIslHYbZa4K?= =?us-ascii?Q?kNdTS6X0IsaEMSrwxilbq6WO5OabDZXwSLN0KB+YD3AHZmEvHa7pFNyl4Qxx?= =?us-ascii?Q?lSrADhXfJdG8mwTeCA8khnjsiLwj3+YD+SS8oKtKSzQ5jweBn3wsO0HIisCt?= =?us-ascii?Q?lb9jqQFSmY=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;6:4PMGHOCwsBPkLy3zp+2BUqld7JlZeLCA1fAENb4fRt3nCxUen4IxAUEaJ1k5QNVynJ0yjERodKSrPlabGU+lyuswL7WJwDtIy+sCis4PfU0qrdVrBVbeT8L6W60bttg+9lhI6lt0HagFX2ayLwHva35VMGve/LDlB8A7dWisvfCU/M8C/EIjUbgG2F0c67R0+pFNAXysgeQjphoz1hA0iTQQRuEqPzuIS+8ZCihbonCUz9B3elMxlM0m1O97Ue+/FttX2WydSAFGal4Yss3vbKEJdrK7FEVpqQLmwqU7th785P8G3Sy3l4Z1FDHvIl3Kz9RsPJhNwUvsHsa18kYT5wkcgvxyWWO+lQoLtWA7tDoLFeOYUFqXO8J1wZ+ZQyoPNaUhQNCLBaa5IVN3Bcn6Cp2P4dQ7EEF5fhQonl/bqMefBxvAMc5Nhy2XYSwiYqFEEiLXB3fe0n9xxPqN4mmlM+8bKcEvBp3+dji0PAP9PxMIZQAyjkbmx0zwBFNzzyIcAkAkZdtktLWzgy+0h3F3mg== X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;5:iuhFNGPWvKLbTsbpVwTceoyqk6pA5KwIpJk1guse0PPMC1S2OsqQFe34qKxUA63M+zny1M3cZ0MN41Ja8RcQfphHkn9Ub0si1nFuQXoxBFLbkgwDY1WIvx/mNxvSzOaBEOWPl7OZL5AGY+VnV7yF2Vgp5Y/v1dptA08g1WGauUoMaEr396hb/+gRqer6R5WQevdUwP6ZR/iHCBPvd9E71RAck7Q/GLYBanaUj8bejTcUd/KMhpBATxTaDCRHa70VJhQhsRqCqK1sY6aqquBuybXiYHs/EkGNlcaBvvSK9A7Pi3Y9bpUaPvvifDMePduNX7rWD3WRuIXC5ssVSFIURmEAjV2MklFVVAAh9SGuzk4X0x2v+yfzcI92xH5EL0f8XKgUEsLrEz8psk5EHq8b3zsXtI/dTt7FjD9oopUCOZSsAeAwdJ9Vr+WXl7e9VWG7pSAgjvqXJ8A+FfIyJh3aIsLJI4zQwVLdvrr2HYHgQ2Tj+7Jn/1kfCyoADi1i+jAN;24:iOLG2/7QCtO52Rngo90YVJRW78J1rVFe2JR2Q1DvVHHX+ETXqMvP+rrWYA+G3f0t5Y5A9J1VZZxfsW5i6YbKzU1IpAZDbgDCsdBKlHhSCyw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;7:RwfCscixJlZp+RjrCLAl7lFG/Ggpv7MQz7J1Mk8QC5dK81pfuC4SQtHqQXwWsNPkpGtSPrnjhwEv61CxVWihBsPfVRr3mSMEt4g0mMeD3pvpXLvpWtihHK4JKJHodF+yT0zQTuOAyWt4uu+N/fW9ea5mbIzT2EfxEHwZ8qsvcxVqkus4X0YVdUQsYE6XZBs8taGUNSyMlYr3VT8Xz02b+/bdzEX9cqlP2K73Ycvg5JRLbswbWPkKUvy9vq1YtwJclkhK8Kl6LX0ZUn33+KsKpLJ534a2X/IZYkhf2KoFn3EeC5bGSnlNMQPwjFGzT0lJI8zjieqd5YD9hLMbY+Hejg==;20:m00g5vPHnNBJ+qtWtiuARQW8byywG92+ONguJMxPq0yocXZn6A0hnythd9Mn99dgoW7RxKkVyNYSeUFlt3inKMfjK1lGNhH/5zjoWShW7OcqG7KGOBm219MbUulh8dU4HMtHKriUOr8OMrBDoLuNwu3DpSxvfEkkmFwpc9ASuKw= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2017 18:35:49.4760 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB1081 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-06-01_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Export the oom_evaluate_task() and select_bad_process() functions to reuse them for victim selection logic in the cgroup-aware OOM killer. Signed-off-by: Roman Gushchin Cc: Tejun Heo Cc: Johannes Weiner Cc: Li Zefan Cc: Michal Hocko Cc: Vladimir Davydov Cc: Tetsuo Handa Cc: kernel-team@fb.com Cc: cgroups@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org --- include/linux/oom.h | 3 +++ mm/oom_kill.c | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/linux/oom.h b/include/linux/oom.h index 47d9495..edf7a77 100644 --- a/include/linux/oom.h +++ b/include/linux/oom.h @@ -80,6 +80,9 @@ extern void oom_killer_enable(void); extern struct task_struct *find_lock_task_mm(struct task_struct *p); extern void __oom_kill_process(struct task_struct *victim); +extern int oom_evaluate_task(struct task_struct *task, void *arg); +extern void select_bad_process(struct oom_control *oc, + struct mem_cgroup *memcg); /* sysctls */ extern int sysctl_oom_dump_tasks; diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 11b60a5..8cf77fb 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -288,7 +288,7 @@ static enum oom_constraint constrained_alloc(struct oom_control *oc) return CONSTRAINT_NONE; } -static int oom_evaluate_task(struct task_struct *task, void *arg) +int oom_evaluate_task(struct task_struct *task, void *arg) { struct oom_control *oc = arg; unsigned long points; @@ -343,8 +343,7 @@ static int oom_evaluate_task(struct task_struct *task, void *arg) * Simple selection loop. We choose the process with the highest number of * 'points'. In case scan was aborted, oc->chosen is set to -1. */ -static void select_bad_process(struct oom_control *oc, - struct mem_cgroup *memcg) +void select_bad_process(struct oom_control *oc, struct mem_cgroup *memcg) { if (memcg) mem_cgroup_scan_tasks(memcg, oom_evaluate_task, oc); -- 2.7.4