From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753418AbdFVQ7c (ORCPT ); Thu, 22 Jun 2017 12:59:32 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:51734 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752152AbdFVQ71 (ORCPT ); Thu, 22 Jun 2017 12:59:27 -0400 Authentication-Results: i-love.sakura.ne.jp; dkim=none (message not signed) header.d=none;i-love.sakura.ne.jp; dmarc=none action=none header.from=fb.com; Date: Thu, 22 Jun 2017 17:58:58 +0100 From: Roman Gushchin To: Tetsuo Handa CC: , Michal Hocko , Vladimir Davydov , Johannes Weiner , Tejun Heo , , , , Subject: Re: [v3 1/6] mm, oom: use oom_victims counter to synchronize oom victim selection Message-ID: <20170622165858.GA30035@castle> References: <1498079956-24467-1-git-send-email-guro@fb.com> <1498079956-24467-2-git-send-email-guro@fb.com> <201706220040.v5M0eSnK074332@www262.sakura.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <201706220040.v5M0eSnK074332@www262.sakura.ne.jp> User-Agent: Mutt/1.5.24 (2015-08-30) X-Originating-IP: [2620:10d:c092:200::1:d2d5] X-ClientProxiedBy: VI1PR09CA0058.eurprd09.prod.outlook.com (10.174.49.26) To DM3PR15MB1081.namprd15.prod.outlook.com (10.166.160.135) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c746bcb8-867b-493d-7f65-08d4b9900134 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500055)(300135000095)(300000501055)(300135300095)(22001)(300000502055)(300135100095)(300000503055)(300135400095)(201703131423075)(201703031133081)(300000504055)(300135200095)(300000505055)(300135600095)(300000506048)(300135500095);SRVR:DM3PR15MB1081; X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;3:tfb1umAvGdPcH4+f/SoAkL+piyl3n37buTyNoDU92aSf0H/CLrhu8h1ICbGbZ0RHd2btj6RgJbI5pq3sg7hQdgk6I4agibAREYMt9yKmmXBa+BWYFBLA+1lSLaQNTOtOe9haC0l08KTsLQfC/2wdrX9z+2oB9g9Xrf9D7A9AkTXsbMPGeWPYRcuKJ2qXghNa6ua55lJLxxrEVKZoa6/oA/0RqVcydB/Vn4rxWnam/LoBZkjeYdCBA6inbZo7vzS736NQfNagetcHHrD3iJd7+CiRsfl4TMTDVhMMq/j3h6lUVDWNfhfuU+2i0dQa/lsCMv/ILeODPB2l4+mKsKVYUW064ct3Isdo6YtSYn4qq95uNLB3rCuIychjiXMlFc8XoGfWV9zCjLB5YZuCrmqSaVnkkE6oFMAnNocAu6p8/w/wnjqz1WyPvBGly1qcPvQsE7Q8zJNR/HoupHRSqP5TzE21eGcUpoylJybtrgNqSMnCzmWtpswX/dREIJ+2yAgcouGSorBqIOvyGeHxyIU4rBi8xPPARjkjnJGmLmelUOI36dj3e3l2kDhX8Gd6fQ5+r2zYIYsVFPpEYRvUe2Fbm1BKIHIGNxKGm6CZ0Loa9OGLUHQN0NzfXNu3hqghFUuohZmA9XVXqc8suPRBN5hifzMVXiaPBrdulPyDuZkWaz+M0O/5G79j1B9zju4IH0It8tjqWYDQlJV4qHIpw811Zv7ds1j2mkUA5yEz2RtduT4= X-MS-TrafficTypeDiagnostic: DM3PR15MB1081: X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;25:nrMAnTVNyltHzbhZrJ/sFmSWBNG1P9XjMwzA83c8cJ2HDh+ySSj2AgA1ZEpAYOyfMBj7GReTNefD1qLePeB13/k0zdvWILAfOXC2pPJlPKomxIfMTDuApifd5eOgH46TPjbcP1wRUypxVlU0U3/5GQVtFTSbMduMO604ttRz5cETPxSQSF1G/YjR3JwzGok5t+iHxzhnWpQqMJBp+gBywmyrCh5RyD7Wo+dqmh/CzDeMhoTrOTc3BdUry4wUQz4TtFzrFnKkYSrZrKBZxuI+QykM48NVDgU5qyJKGSdSLFBah5W0xWlSkagSBt2lQlr8bK9lHTwRmFCV00qNNhRVxzAa3DXykmbzjBs2LwKIKu5tE77AMl8m/+S0Blugtua0UnytBWOQ48bBLuGaAOVbjEZCgPb6DnV9E5IFNfZzsClTqeEvVQhQ7iwDnfpp/wP/y6qb2H+lY2zgxCpGSYRHR7a9cCCMn7llhWsHYI9frE2MFw/uWemfCt37bk764qCACfM5+DcIdTs4/6PONI8T/xqkNctNuKdMSX5QE6DaT+/mjAUskPBvEqaLjjaId+7GXdykQfh+NVRHnluEnrFTB4wsQF9keuJzPQmUJVSTEqD+UwLx58EYCi+Jod9sq2GuLC7DepfH3lHQktXcdU8Z0P0biqcJWQ3YENhmiswH0NCPXtU4EclW+cxx7Pe56YP8rnnJiC86dAd3P3RHuFKMwiDu1DnOPtf4gCiJPHsmCu2Dax3rh4V8SkbTsax5Bwub0kXKWrqreOXsQ6YN5NSYBqCWdXK23T9gqSp5imeGPmhFEKTe2OF3HI8zmUoFUEW97qLuHFBmXTTnbGz5E+vzqXUXeeRZ2F8eEsHenPL1dFgzfd7EsLG5oDKEUJVa90FipAobJuK0V1X7P1FvRjZnsWOQvtR2UCtgXHCet9XDN/E= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;31:+SkJgVlGUC6RkFAEjtzRFsTvXlNAKdf9tOdE+IDRTzWTdvOaL0HOd2Lcn2e3N/1VTlSHnoyzO+fVYtY5mVPA07jCJvYsDmo1g7kaVr4SzOJD3gzvj2KNpogplFKVgQpx063rJfj/iW4UiWjwfjU3n5u/QEnPr+tigZZgYU+1Hk0ifGV71pCgnsLdgihYOE4/cTtder7AXo+QqAcDtQn1BKB265DxOFNvZuH1cqYukO/uBXG0O8rCXE7meVgJYUNugI4ar+LgQLQ3W/Bs2y6iiw3Gdz1va1K4SBMrWmyblgFF5HFS3oki6k5F4ucdf10TNG+hWgW9kK+OlLB0riPkbcU+fBIPYhG9GAlwcZtitEv5+fXh4hh7Q0+4fq4r/2f0sj5N13gFQVFP5okaXXaGTObxMe4/ylFKX4FgNm6O9v0bJwSoj3U+FVAREqlO54JfqGKwgvmzrk5a8offnkAdCf+o8CcGlnszCJpIeLW2i9OBF6Fw99uIa+Z5muqyy82SI9FLJ2VE5drqo785qRbimd2x/bP5vBkzJKGNLZqWbSRD5XEehpR3FAj+XL83MYfv5jHxyb8vh4ySu2UJv/RuibiJXLmN/sl+BKxrcpyR53qkIz+4/I4TuHAApqhFRJC5jqHzduFzY6NCIE61yTMOgDtzYXdu/E78oRyo4dk0il0= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;20:+WYnxDjzfCcZnfw304W0FV70e0/9cJfNqMw8U6hRpP5FJzTcDZNS2wQDD5INkPWB2Auvl8ipHd8pAyJpzdd4VVekfi/TxkUu1ddMNwLhNH/N+tConOd34X3fVYMc41sVrHL7eRW+hZ4qWwOK519iOg7nUq/1ldLvGYhV6wKhD9REKzkFgdYiJGTFGUMKp14iLDJxUmi6PMVryGzsyGtjFiPNe9Fh/DZTm4BJG6EvtHx7r4dXobawQARy73fg9vX8UTCAwlgc4z3eUsZcBcyP7filfYYLRY0KNmPbiYPgMCdwBIjqz5dC+du4n2ZWghc713geNayBk6euGRBW9nGAoEglpIa+mt3c5It3hO/8rq036WJ22qGs8lgN6L/71nEiVDBJkx4EEs4goC84QGZMa3+pBw90opLsMYvIt9VHoU8gZRMNn5ctMBiK8C+JSuemdCIAdh1WG9CSfKMglX/cBYnJ4gwXNI29pRb/IXRX29CHpXbT2+ijrTuxAkiOeSbe X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6041248)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(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:m/Ik4qIya4MOH07d1gMqo6kSf12AD8f6X5OJY3oZrs?= =?us-ascii?Q?WIu5Fg4Hns4qbzRVFi+r3MbKCbJUaTUrD9xjIpPFNchVkLQkek/1MZbevdOE?= =?us-ascii?Q?QxJEcn+nEjJzytbGthX5Y3h/IKCodgEYYVYT4aE69eVZMXWKEX5LHhqMF01A?= =?us-ascii?Q?Zoq1sthYrXYopqq04O9WiMgFHnL8eY54thjYIuBKuGXVXArnaaBOb6fQ4VJd?= =?us-ascii?Q?RI8olIUTIgR+d3BvJJ8jgmFE9KiMTcMXxuGDAPf2mMc+sORudl0Drt/m6wPO?= =?us-ascii?Q?/LQShF5tizYVWh2LiIxAyTLRqZMr8EnukOV6pcdHT4aQThCYoxAZd6rNB20V?= =?us-ascii?Q?S2FWZfpuijMdjpXAyX+yISV8oPWr3cvEhKKWn3TdRlTjvSCTfWt3o1Jhn/Ir?= =?us-ascii?Q?dUGi2if/W16alRjb6JEWxtuERhbmJNJ55pJaULSj3Ce346ZbUiofFPpVkys8?= =?us-ascii?Q?st31ehAgQg3pWaqhoujnjr0PsNrh0IXirayECxylXSEzx0aO8JL9gncQ/xAl?= =?us-ascii?Q?fvBLv2lau/iugGfMXqCJgBbQsiz5zVjWv8PL8V/BngupQ6tIYaQl0x1SoxBj?= =?us-ascii?Q?mXQpABkaiDorKOg/yPKvrbN/Oyki/AYyxPlFxAYA+7xFZycVND9vwkr0lKi7?= =?us-ascii?Q?sCAT8LSfXfpDRbz8ddla1d33o/8+kor2cRjs7sl4tcahEvdLKL7eRhJS96Tq?= =?us-ascii?Q?v8IJvMwSyUTGplQNiSYYFgtKbBAiEJ2rfntPmCCEq4OWYTpthTWjB8r55i1C?= =?us-ascii?Q?uVd7/gx9HEbKQ/jeXdFUFcuFArgabLoyy7YGaEKH8pPzx4HEAQ+CyM/4Xp61?= =?us-ascii?Q?EB8jrp/k54jGcNIchb3dGIZHGJRhXzw/la/8eMmTGJGUrK1kYPWGJldjomjm?= =?us-ascii?Q?Oz1uwpnFvUFny26SApPqb5JqupnOSxRVGj4pPwmITk85nznS9IRjEbZGnXyD?= =?us-ascii?Q?H1JAwlsJDaDBZdoAyBUdbqNaKw7M1Ot6J66zcfKGD5b9C4zKPYyGUqSZMeHj?= =?us-ascii?Q?zyK3+lr4KcLtQ+ttdZTlfRTwJh8BQHF/GCo/+FDW3Y2elGhLP1kAU2SRLUjL?= =?us-ascii?Q?hk0biBPbLXvn6yQRkKygCyLENNA5aqzjxduDNOW+DEro3o7/lkwpbAJlOuIP?= =?us-ascii?Q?5buViPni+Bb73nRGPsvNCENtILl0rZ?= X-Forefront-PRVS: 03468CBA43 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39400400002)(39410400002)(39850400002)(39450400003)(24454002)(6666003)(33656002)(83506001)(38730400002)(110136004)(6916009)(6496005)(4326008)(2950100002)(25786009)(7736002)(6246003)(53936002)(229853002)(55016002)(54906002)(50466002)(81166006)(2906002)(6116002)(1076002)(4001350100001)(33716001)(23726003)(5660300001)(305945005)(8676002)(9686003)(478600001)(189998001)(54356999)(76176999)(42186005)(50986999)(47776003)(86362001)(18370500001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM3PR15MB1081;H:castle;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;23:vXwgFvsIZRTz/j98iNepisJzEFp+PZghIkCYvRYgH?= =?us-ascii?Q?nu1D4Dnmo74UyXQFD0HcT4lqvG6OupFkCt9fEwhpfQTg6FI1KJMLc9fPXtCF?= =?us-ascii?Q?ncoOLhFJljdOZTh3wvSIjtT2vNRX0Sf9/bwVMbiUeTv0HS25nBFr/22Tj65q?= =?us-ascii?Q?e2MdAxK57sclSD7D3Pac96mAluM+/OAhtKiU/Bzzs7K51ks1eAR5r29eUwld?= =?us-ascii?Q?pGvu7m6oaAJ8zjqjDKlv9q74bd2VQ2NyPUwGOVHSZMNZf5pFdUUPIm9vtZs0?= =?us-ascii?Q?4hYJAYgVbfkZryHwXs07LYModj7uc9f0lyt7SeDTM5V+wFMqIBXHRQN9PH/Y?= =?us-ascii?Q?F7N4WV8ZWCfNcd5NnRr/vMJ4EpAQCOgQa82iQXODoiopbC1Qqdh+DLRaLvNp?= =?us-ascii?Q?TRi6wQ1S5TNfEeNgQxJ5SfHhEC0CMaNvRj2PDNNISdb/jLWR43IAnRNO2wkS?= =?us-ascii?Q?Mbc7yaeB/XJkCpNQH2zn/xzuO2KP9jZ4F7kZuGeYIuq6aMP7cDMp5dWU2wXN?= =?us-ascii?Q?jYz+uF/tCKREs7XoTGNfV2yMTpINP50VtDCRnRsM0WsBIa3c59yFEF1GyK+I?= =?us-ascii?Q?omR0wnHX8XyZDin/rEanDbTTP0MyVWPEV/7alw2Tv8U7VrOYgKXuY8Cxv5XQ?= =?us-ascii?Q?jmdow5L3ryIxXnF7A6lYqdrATD7AUX4Z6lBRThHxFWGHUAxY9oq+SOeqhbgW?= =?us-ascii?Q?phXU5tMK1HnsJrhWUP7WxOQOh4m7EdVv9z7zGnwVaoWXoIieWQ0+jxha0zrh?= =?us-ascii?Q?H4qGz5M+dHdYHwlV7/mh5456GJAHWwuAuc+0F0gq9IBsLJoYnpE4PumHrgX9?= =?us-ascii?Q?9XSIq6sBOndy0tu9X5yKbNAo0D0auQF+tff9xJaxQMQ10qzhc7QiaQYDajrl?= =?us-ascii?Q?EO6Pkzt3bziKNU+J3DAgLdXxHFyG0PT/g1OkI0zEFjerbdcPdtaXNLqnHGH1?= =?us-ascii?Q?irb22R3yzvtf6+Z3owOJF765JC95yNjgHd9rvsHz1TYPAf7z9bRhd0TT2Ox3?= =?us-ascii?Q?D24F9rD7iVTopm4etlfNLz0E1tFth1nf7yxL+88AdiQsoz4lLbCjj40pr905?= =?us-ascii?Q?DMFZCQQeNleU2IZLVwcSSTNltbVcD0vAMYLYeJTjSar+l5bPX5Xuxhj2Fsbx?= =?us-ascii?Q?Bqo04cWLLGx3vfRubsZM+TA2ksudure?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;6:6i4lT9iH0rVQP0iNbSiTvmaXmEjB3ju4o21lqdSmqt?= =?us-ascii?Q?nfxN1g/KQLmatS9AlfVXOI8E15rOsP8nwda9I8EF0NiXrAGzC+V5JYVepXjd?= =?us-ascii?Q?71+zSOnl12L8iIvG7p3rS5rhK/vbYe+7cnkDssJ4YWNRrTfDoWl6na2Kqiul?= =?us-ascii?Q?4yhzKgiiFon6ir9jmUv2emKhELQO+58Kel8c3sEd9NDFjeSqBnkb4Mb+OB3T?= =?us-ascii?Q?VS8VXFj+3Vt6G00XC8NtZMwNk6phF+0dCbWwEN1QcuAQaUSL/4SWdAMUb1Rd?= =?us-ascii?Q?88snRbaJoelZmqwykQjsiWkPG6CkqHhUnqq+a/nDchbWkSA4h7xMpur7zJHA?= =?us-ascii?Q?QvlOS/q206pFPO/83kwFz5/Ii1p4XoehFYWy716N9/Id3ZFAcc9F1WHPdV8J?= =?us-ascii?Q?d4gtY1Wy0WEoKyoMhYwHmLPClAyh2tDdcOZallP/T8rVr8pebCT2GEnuCJVa?= =?us-ascii?Q?Z48VwgCSPO/QW3sTXXm+CwmRb7plwt09aYewYe2IIA3hnAlMF6lBRcq+w8LX?= =?us-ascii?Q?2rRlBkeNjDwVuzf7v0TrqHmAiezG/UWr5JZKKFC0sNLt6hhc7QulbaQ9y8eS?= =?us-ascii?Q?RgOo/aTxw0wEsJ8Ijivb1odXTLlOZvNR+Msltfg1hRFzKHFIfPkcUE/bVz3A?= =?us-ascii?Q?jE/tUFUAjdypJijZ4WhyygHbpYs/DkFtX3QTaxrDzCtf0cHFW8YF46LfUiPY?= =?us-ascii?Q?OTdLdZzRr75xwX3meMgVwlExp85zxe1UeqdL9zfWNouSYkyrajNm1Czt+jrj?= =?us-ascii?Q?r4gO5don+IO7rpiSbVL5trf4dsnZalHiLKviqAhF314CrJQ323nWChx1zuZT?= =?us-ascii?Q?gCJCVClxIdUHdGKnf/crbXpgcrJgspwF4heWkpjYSE5U8wSUlkm8pwRxFvbf?= =?us-ascii?Q?njzIu0IIoLikbAN20zl5sbc5VmC4L4SGRxkw6jAoUWEjTrWziSHzuiN+TsbP?= =?us-ascii?Q?t/ila+hGQT2Z2sxckyOaiPRzCKfy4qqV2Vj8mPOwdAsJg6wQvOI4HWvl11Y3?= =?us-ascii?Q?A=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;5:wc5nzhTqulk8iH+rDwpuwrFJUr1cIvlobM4oiTfZTdQ9wMfi6r4KwbVQ5w3dJ0Zl4vQ2CRw93mTybtECjpsjsY9nzjzmMcBr5pwm5XCj1G+65Zc2UUqULRxODxeDongm1Pvhm1jTw0wScZqfaTC0nciAjmyb24kXfPGnzfsEnE4df5TKb0onjoWqzsclQi65b8/ENf3LH4n36qLTqz7UZAf00ico8Z8AeTlkXrdrhm/LnRm3J6EQ1+1hZny+42bRs/SNzKaJvSIj9TH56e6btxzEuITYdPgY3ajNIK4b+aVO7ituAVvYFEetdB6AknADCEcAu7fVSma5JEY4cqNUfUP0SGljFJTyXYQ4Y0Ml+gV2ccjTiNU87+oueqj/lgU57wr9WmaY7Ir/lfbhI9uHLBYvEe4LWG2Z1TmNYMKW2TtY17CLadJFyhf+C25Sno7uxK5Mb6xFJgI2i8l1a21x30Ih0omed3KOM+Zw1MPbvPZAv1iOGWH4kFLDJg3l2Fj9;24:qk/Snfz/PnCgbmgvFiyfKJP6DT6NXFhcXzUjp+4+UbSTlTeEjkditKXsMZN4kfGM9IjooTZ+oAacG06K7uK1v5zCeJLpubQbuhukrpKqvoc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;7:wwEb9ZST3WSU5pkaeuQOc4LQgCdiG1ay6edvezSW4HNF7VeysKjoHnit4cVmeBDXJWwO9TS+0LpoCBWnhiNyHadoQAIQAh387kw0SrNlX5dhheW08yPNEhvk6lIjc5GRxoC3cM4isJuwpssBuGHmTaRxOIkFfDjXozByrcKQqIewQYhvV98ZGyknlWsPzrqw6/rXrKB4eYOKPNLpCt+Uxelf9TVkJ6LhHsJB1rgT/J81qU1xHQcr5M5YkXA7t5GihkbTlSotShtsxINj9ZHwDkENds2UXjLXTWmgzoxhMAOhM96jb+XMhYfwFghu7XcdW4Mc2LXdjSqGCNMF0vP84blszY4GwMHCpBxgpt0yydGA3ZrdX7F8aQaolAA9+hENW/gLxYnwRSO7D+3LZ+scxt4OlswFhA7IoWGGajJ0XRVelaE02uq/DKHjq7D+MzRF1JT4g10yl9qUZYo76tmQ8YK6pyoZug2ipMatkOOEUIq66Zn/QTdntm1epr11gJ3Y919UBDGW9F0AEySllaAxU4H1kJYNBj5eBRhvHe+8pDmMXvSR8I25XmQ0iIszull9xoWmTYEEWsSz2XS4ghdPeiKdQuecIVsO8TAHnRHlXQMN8EpATF+OVzPmNj9NpOvrcAi1lB1FYRCU2k5A+uqg3ESOnh4ya+al2Qc2ICaAVXNwpyy5pogc1+sw5CpRG3TRMn+JG8K0Ldmsrd8ExFgWAWd2ZXQgQqYueY+TjY3NCbnDn35XhgZwkRlfgfXPI20GnVD24gpELaCfXpg0/wxEv3p08nsDd1juP9qL4ANPd/U= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;20:Xv8/WqEUzFfZ8zdl4YMNsQqyBs0v+Y8UuCWRX3zj/8iill1g7ow0lPRhG27KtFrb+ftOs6fMTmtqJ3Q7r3GcGxRsFqGIY+oDplQiDhHPkLFv729uBgV6TX5U1NTUtLKeK5ySyNI5BVDoudZJL9BWUungKKaZERSRyPFzgXJfGEk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2017 16:59:09.2885 (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-22_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 22, 2017 at 09:40:28AM +0900, Tetsuo Handa wrote: > Roman Gushchin wrote: > > --- a/mm/oom_kill.c > > +++ b/mm/oom_kill.c > > @@ -992,6 +992,13 @@ bool out_of_memory(struct oom_control *oc) > > if (oom_killer_disabled) > > return false; > > > > + /* > > + * If there are oom victims in flight, we don't need to select > > + * a new victim. > > + */ > > + if (atomic_read(&oom_victims) > 0) > > + return true; > > + > > if (!is_memcg_oom(oc)) { > > blocking_notifier_call_chain(&oom_notify_list, 0, &freed); > > if (freed > 0) > > Above in this patch and below in patch 5 are wrong. > > > --- a/mm/oom_kill.c > > +++ b/mm/oom_kill.c > > @@ -665,7 +672,13 @@ static void mark_oom_victim(struct task_struct *tsk) > > * that TIF_MEMDIE tasks should be ignored. > > */ > > __thaw_task(tsk); > > - atomic_inc(&oom_victims); > > + > > + /* > > + * If there are no oom victims in flight, > > + * give the task an access to the memory reserves. > > + */ > > + if (atomic_inc_return(&oom_victims) == 1) > > + set_tsk_thread_flag(tsk, TIF_MEMDIE); > > } > > > > /** > > The OOM reaper is not available for CONFIG_MMU=n kernels, and timeout based > giveup is not permitted, but a multithreaded process might be selected as > an OOM victim. Not setting TIF_MEMDIE to all threads sharing an OOM victim's > mm increases possibility of preventing some OOM victim thread from terminating > (e.g. one of them cannot leave __alloc_pages_slowpath() with mmap_sem held for > write due to waiting for the TIF_MEMDIE thread to call exit_oom_victim() when > the TIF_MEMDIE thread is waiting for the thread with mmap_sem held for write). I agree, that CONFIG_MMU=n is a special case, and the proposed approach can't be used directly. But can you, please, why do you find the first chunk wrong? Basically, it's exactly what we do now: we increment oom_victims for every oom victim, and every process decrements this counter during it's exit path. If there is at least one existing victim, we will select it again, so it's just an optimization. Am I missing something? Why should we start new victim selection if there processes that will likely quit and release memory soon? Thanks!