From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752444AbdFUVUP (ORCPT ); Wed, 21 Jun 2017 17:20:15 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:37538 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752362AbdFUVUI (ORCPT ); Wed, 21 Jun 2017 17:20:08 -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 , Michal Hocko , Vladimir Davydov , Johannes Weiner , Tejun Heo , Tetsuo Handa , , , , Subject: [v3 4/6] mm, oom: introduce oom_score_adj for memory cgroups Date: Wed, 21 Jun 2017 22:19:14 +0100 Message-ID: <1498079956-24467-5-git-send-email-guro@fb.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1498079956-24467-1-git-send-email-guro@fb.com> References: <1498079956-24467-1-git-send-email-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:200::1:60ad] X-ClientProxiedBy: VI1PR08CA0189.eurprd08.prod.outlook.com (10.175.227.147) To SN2PR15MB1088.namprd15.prod.outlook.com (10.169.192.138) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0a846499-aa57-474f-ebd7-08d4b8eb3ea5 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:SN2PR15MB1088; X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;3:4xYGb4McUxElQrMHQZMvjrvSsfR/DtGB+PYZmsmagb2SPMqGKr/v2wqowogGJSSkojya9IXgMiRHgDL0hS2RjcH2kXPalXY9k+vF/M5ykVDbZPPuAN7Dw6gK6XDfFausGUvIfS+GfOdnT2RqPZGqH9eObQ1ChQ6JbTnxgRN4d+fLo8ygYcW5veQk4vFgkodWDG+w+6icx7aiAIVwxTGq69Q3ltrfVDwXW+V/oEgzeIpJX+phlRaV0NSqRxIadyueCR0JASRwAEc7UOYZHQ/UKUpa/8fAL9HtXP0fhYFb/kRWbazkYgH52X13PMXKy8XoAayIQo7xDD1C853A9jYlgg==;25:+RbqJmXY5N3b10DN+4tM2MppR4syskFyWk+loHO7SdrC3+y3i6I8PHNN4e8/HF/vXKYhT9TdQihIUB6aEeM7vIBXgXKdRFUaMJ2uQ1cRdXlTTqYNY3xk9c7YtIVjKEhmt23PQ1wEbf9N5HGO3DDurpJ5hpC8dzGGgTK6R/aj4tY2WfC6KAl8smSRuMsWXiFasMhBeC6SghhOy+l8k6K22Iy13skkTpermHn2KdoUuK8R8kcURyDVfvk1haraD8cTWXFOp+oi4LabDwq0Qp7UhbRYVssDDmQCYJCJLbRlDzVzlu79GMeMk42IEUi0MOn4K69WOxB+n3+0f5STBCJqwrucu4aMpjYpeeiDaM4OFHKW6aLcX5EXS73hsDMluLT+6u37DKlJPGEFQN19fd9ojBhnp8ROXC2+HKevXvjBxLHD3xApZEUA8Kr0Nbe/c+zbONmu5rHEhYJvn3BTKaxh6O/iK4iHSs+S44ZQlHgVM3E= X-MS-TrafficTypeDiagnostic: SN2PR15MB1088: X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;31:M/BQMsC5Mk8he1m0PKJiSUeS/xDbcyY5OPu0CDKCD771yNNzWFjj7YwsQDYNgeFxCZonqAu4uR8gZughKk59tvWyg7yBzDadHKYo2w0rOY4z+kYzav3ajtODQsWA7N3afz00hv8oi32wflakqcJ0K7HSBjWO3d/Zfu9UO+fljz9Q+e1KNrYfg+LqgiPhZ5ZwNWOIPe1+7PTKep7E7PtfTk1j2vvy5yypvRpWXu4qW2A=;20:J3fSOkeX8QH8sjEnSzFtLZn1srrdIKscaxswz/+f0XgtJsOI2JIrkXP6W8u+a+Nub+A6qdVVdUPD0o8PuBOQ4pR/E/paNpoMv/oioF6xmDuDxbCett5xw+5jsguyINFaPjE7F0L0ORsgSW4BpbZ+9ZLqZig1VGxhO1+hJ0+T2zMjuGXRDnPJT5mEwkUecXsvAktTRS6w6NZIrCx01Oma6VG8TPXM4R8TOmFKuJhUAmESmSbeJyhjy8OEE3pLgWKfvns1i3u6xO58sCZ5vjOG9io9LHuqAv/murHDLUvRL6ohNUOE+7IgbktL8fnvuQsyjRRcA7sLF9Vm1AB/mSMmmRbg4j6wTPnRZUr6ZLXijZStBHmNbw59QyaRbtmg//8hSSf5WfpXoM49cC7QmnDryQM3Hd4C61k8y3nulNPEu8/kS8ZDoM5gG4FXYGA2khyFEuxCqTf6KrhAY28n82RVPkSs3Zr3g8J5YMCk4xz/8vTn+Di4DX9EZlgVILtWytPM X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6041248)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN2PR15MB1088;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN2PR15MB1088; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB1088;4:g8A79w40qPVAg9HLPmCtHJe/q4TpPXu6NlQburCJ5J?= =?us-ascii?Q?bjd+O7Lg9CxC9V6+AgZ5XgzatXsyMw90UUPvK/bn2b9WXAA95296IieOAGT5?= =?us-ascii?Q?1UnOBztuh5rqH2iwGv9o7fENc2i0c60lSbk+IjkDx2ZvgDv2EBFwnIGybNz/?= =?us-ascii?Q?lTMIgRRRXTAwJYWIYnHrq4DYQAu/EOtIi88WD18m107D1n1Ei54a6CcQNMb8?= =?us-ascii?Q?1HVKSRIwdoEhc0ETl/bt1wpKpV7PceqUNYB6Z8xdJ+G7oDglJz6tQRERuoch?= =?us-ascii?Q?Hh0q/zalmyqVXZD7kMiVhfBlBffjFotpjaYCze6rLzD/pEkG8D1FtopxuGu0?= =?us-ascii?Q?MohTW6r04Ic/02qUhcTHCDXU7kJ8vGKPP5rYOFbGxHuBAzQox6V0dJk8/K99?= =?us-ascii?Q?pNqajzCmKeYfjScT9r+PEczXAcS5ckcdVfAu3YquZfYhCEq+IEy268ldsPOb?= =?us-ascii?Q?F2vtsYGKc5yNGSKiX22RJTWY3B6/xELLuLUpJx0WwicCfJ+6xZC7A7mc97xA?= =?us-ascii?Q?w4Zb2aCSKMfx2/YKt86A7xQoBjl6vYHBgXZg8UtgzKbaX77/DVQ/PWGRcxA2?= =?us-ascii?Q?NzOqJ57qNYWrkhVHNieAfrMWVb8plGOXIuu63ZSDBsoLNa/xZN2mPhOCwcK7?= =?us-ascii?Q?Y0P5wufR3h9sGPfO2U5Iz68Js25vmHPAcWRdvbzoBwtjKFvLY4Qg2clK8nOV?= =?us-ascii?Q?8NNLUn9V7bT8BL2CVAMrtjjbA08wGukCSMs+4/rpgG7Oohfrs8pnXJXYhWT6?= =?us-ascii?Q?OCo4oPBbYxY2LJrZCQlhMsaSplUE1hur7Dk/yHlKoEsysHRG0suu9nF46cB8?= =?us-ascii?Q?pPPW4+o/grtrKfdGsEdesc7Y+PwMN7D/0In5OHYiVWl45ggM/ooP9OhHwGfC?= =?us-ascii?Q?W+DsipWn9wxgIv2wYt0MCb0FdCvpdoqZqXek2UCjXCnTOshhTOBXbYNUyxiP?= =?us-ascii?Q?eojXSNP81PEDZ+/4PPgbj9Uq6CnHdbroaRadaqDP3WCSMYmuiRGU6Et/YAS5?= =?us-ascii?Q?mQgpqt7syjoe14sh0v5D6fIgN5nLVI/lu5Q8D7Wu1TLUbyw2hExkgo8vXGpD?= =?us-ascii?Q?NF881Kd2v6w18oN5UvzWw14VnMSRQRVIppwWdvAPe9Rsy5lm6UzWfDb20v1f?= =?us-ascii?Q?ImZEePxVEDT7PKYsGH506kgo6EtWOTvejChchxwSiY1OsIrAcBJUjwNOJxW/?= =?us-ascii?Q?C/+FhU9vEgA8uSFk+rY2FagEyZBn1XXDchaZtcOj5l84wqMAN+KAMBKQ=3D?= =?us-ascii?Q?=3D?= X-Forefront-PRVS: 0345CFD558 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39400400002)(39850400002)(39410400002)(39450400003)(50986999)(2906002)(76176999)(25786009)(6916009)(4326008)(36756003)(7736002)(48376002)(5003940100001)(110136004)(6116002)(53936002)(38730400002)(6666003)(2950100002)(6506006)(8676002)(47776003)(81166006)(54906002)(6486002)(50226002)(50466002)(6512007)(189998001)(5660300001)(86362001)(33646002)(2361001)(305945005)(2351001)(478600001)(42186005)(53416004)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR15MB1088;H:castle.thefacebook.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB1088;23:vxH9aNRy01hsZD12AnQ2vuzP24CGxFyF0q33F5sTE?= =?us-ascii?Q?Q/qj7MpfGwDENfL/Rcf6a1m/IuijgXXY4OObXrdhMrUk6UU+J15Tm9tc4UfE?= =?us-ascii?Q?oR1kjWIVKhPAtVUFPBy6bf8BqOEXNtoRGxTiG9r50rmXnoyJJSplWkUi6ayg?= =?us-ascii?Q?TaY/llSsQ0OkdF3ErCtx78MDdIUPZLoT5Z91q4RWoM0O49EVM6iy5hhxC7gT?= =?us-ascii?Q?WK6dCgulBoNSYP9MbWQnzBUZg5D8Apk9lJkaKMjI8OdQcepgUKla6XAW5/ab?= =?us-ascii?Q?Fj9sr2bHzjr5SDHKTSW0MMUFvhuWH12px1PNYfFkCDQZ3pORSXeiJaJCsfYF?= =?us-ascii?Q?u8NsD4s7aevGrM0+Q+C1/DaEO5tHzTRLtLicCFnC9zUqs9+szN6CVvlGUKil?= =?us-ascii?Q?8/Uf9gospDvv2yNmHIy6tl7rHUktnTCMStTlPRVBwUmhGw/6Fi5r1K74RG2J?= =?us-ascii?Q?m/IsPwDj0XMJq3q2Jk0/9JRmJI+Y3UwYjs5PtDyQd+OxePqZBAPdeYXivlWZ?= =?us-ascii?Q?WYK0rrSTWFFIgW58HS+0HMeYblbPSXjdDC/cAJQNxU1JQInuBTpFxYBkFMal?= =?us-ascii?Q?7sDkfhQeBxOQrgx6CKRrZ2TpLqmwMq/bvC+R8bxLd8o7JCOx3WadUSYvEpmI?= =?us-ascii?Q?Ht5Gb0RLWeK4BCxGyANmouZ2CA/P24QQMvpI64rzAqM5FX0MDwOFmnQWCUIY?= =?us-ascii?Q?qlFEYk+aAfW4MXgDfHy5n4A/zhlJoIkJC+hd3/29/S8d1g327rwq56az8SBG?= =?us-ascii?Q?ktjcq7T6jEY9a+Ok382YWi1wyhRMHcOSVPzEJjVGVBwEmv5WAg4L3VikDiQa?= =?us-ascii?Q?5ebxhAAL16F7SIIbrABHVdKfq94mJAVthpkKKR4xPIKi/ke2CmOlU18GvDCD?= =?us-ascii?Q?bg/b0o2quhOceAcKv+ieQQNMj4aX+ikbBlYAkR8+fYqVBz46HsdoVtLKz8yW?= =?us-ascii?Q?4VmXqyaKNUpRllyo5tv8Iy/nQq5G6BRIAXOeGVnwElNK7+tM3LEPedEwXxix?= =?us-ascii?Q?w6cAwR2w3YiUtJFXVreQoqc8719BgKW2+4pVhYPAPx3NpZ7NJRtNnSmcvQse?= =?us-ascii?Q?sqywtg=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB1088;6:Vbdv9pQG5lWl6d5NVu4N+/d4vH21Ejn5mNZ+YRxR1U?= =?us-ascii?Q?N4tmSFleJVXlRYGE/RzLCpziw83BGv6KKgCv3+Mt03q0xxRN/NK57q9J3tHE?= =?us-ascii?Q?rFNl0HcNMHEL7SMJFuZ5mN4vU0zJG+J00lME3wsm08xHwLyqXCsTx1Vq6plM?= =?us-ascii?Q?n70v1RXfy3lIYCweeAATmlaPjx44uEoooOfYjw+0xXbin7nhtjWRejDvEcqQ?= =?us-ascii?Q?Z0L6NCsY2bf0M8UF6vz8Ngo9BiVEDLhydRXyvLOF+QZbpcJeuIduaZrMytrN?= =?us-ascii?Q?eKS8kkz7M8mrofLj4E6C96yTiQehCiySmFL180FTDpg3QxqfdSz8RkSYHB4k?= =?us-ascii?Q?psNN1hdkCRhxthAFr4n65/uUhzHqSfjBuo+Qgmu1oon0S5Bt89TqdZ8KCwzr?= =?us-ascii?Q?CMgRNeFZDKTfWYVBhhz8wLT57Bv1BUpgDdIJcHdnfcejnsKFN0b0JwRrM4kU?= =?us-ascii?Q?ZdqLJfQFPonJ8wYBHJWT8kj5pK+NznlouDaZhfpaz0iJ03TjBnyDV0ZBZFwe?= =?us-ascii?Q?e/kFDmzqRW39A3bj3iE0eX0pRtrKzIsH+OqROfrMpY1Moi1RwBtWBT/unhHy?= =?us-ascii?Q?kjChD3L9lHCwSp7dvwmZZXqDj2J8WotzevDCRMKoRmjx1CFupco/Kc8p1qmH?= =?us-ascii?Q?eHImJavmE0YUlWfQC/3O60f3vehO0bkVj+ip0oFLnYQk5HHh10A8McHBSpAn?= =?us-ascii?Q?djmnNVEkL16oS0d0dymMrcAKSE6FdzzDs2PQsh0JiDv7j3FVSXXInuPiGS6I?= =?us-ascii?Q?ZU7oWzivzSeuPrYlEKh3EDFFtIMe2UJ2Oh8/b/+RggAwI+aC93aHUMY/F4ue?= =?us-ascii?Q?lr63VNYCBiH5ehxzi6UKVADiIKdPS4sb/e8loXqnzvm9ugvwFgk26ad8XOTV?= =?us-ascii?Q?Dp/DjwcU5WCk4yhzyOjmv4WZtzVipbhn562a3VBV6qsWYKEIGFsiClEqB67c?= =?us-ascii?Q?2PAgRPk/WI7JdTuXCUcP+zdczmrIFatKIjn3I+06ulL1jH80dlaTzWn97r2Q?= =?us-ascii?Q?U=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;5:J0pXGXICZ0iKbvyhzcRdvZOeKms7z0aNn5Qtzvo8TrPYvXv8yqNL2zcEHHxieKkoTSAgCHW0Ax2btXUx9m65t8FykvgRq12CUbkxQLZrqq9UEWebokh9l0JHMX2msx/HB6k3vEgkYq3TC+TM+aWF2Pbq3FPb6bdKnA7WaFB58Ry8Gao3T4MVWVgJqPHQ/CYXVU1otI0jJk8Pw+P+THOPK/wj+p/turCeEE9sY6RyG8kwIMFNiAGhRnayk4dfrc5WRQf2266rBVS24oYxhkERC2Rbp6lkhaPt9Y2MPmnxQhbpHnJEC8J1eQyaBzUkTlVMvXonuNUIUad9GlAmoK4E0dCkKTuZE3kdts5fmH7ZYQMgwCF+gTXprnWDOXS+RRntz4U8MvZqql/01Glr61RNj+7aH8P1ljoeCs5lvvB8h/q9nrQahQRpJLNeO09yZqVg+FHpImsNHXAWFHYbIKjDHoVcbor+H6zSfWKzfsgNA/RSfuTchn7F9agRCgn6MhsH;24:P9d+/JKMX70Eku/Pjyr9X3RJQ28TCz8xtSKObJesnlsql+MccyPitqmATaMhPH2Uyd9wrrV/eAww0Hg6O2slLayiRCtwk0MZPMQov5+rcyw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;7:EnJ2xi5wJlo+dBnR3b3q/KKXD6y+I3g85AIFUui8Qfpu2SvTOpw1B0CAfIhetYV8zI9k/q9oXs17eqJnCcL2sUGRnHswRgeY7c09fRe0QSRCHruPci2aLagdNorYG+Y5zDeU4Waw85kFAsNnXvsYqx5Y6ZiCeSGdsSzEWVSVraLV+7mQxIFV1+xWkwDK8QfPwi3I1RpohhwKKPQOQljE4jidDw7XZTV3yy5DsguZ3QA4vDnFwBjSmh0RTdgZN16n2yhsll4um3S4bJYjykGUHE7WuD+flPgodvv0bTp4oH0QwwqQJXfV/pEG/9wFMrBxQ6hN0fw0bvBJIGIIdyCe5aJXUY545bi4JpulwU/1x/VGJcDTaCb5C/ITE6XXqAcx4vjWHzPalG+B+7beK4c4g40gkPSAt+0O3DdoJ89JLm47wQJK1pcfiMoOj6AEmJCYtFp3k2szOzMSQPumWxyLBLAZkOWjE4vbt+FV1dgThcONNK3nWw1GmapJHmckIn6rVpLCc0OVYed6+BCzRDC1J/elTuc37d3kbSc+tKDCNvBROoKm7pQ0I3U1WkhAw5KJhHdE5SCHKe9iUeDDBnZVQZv9gIe5NobVd+0bqzIP+zz8FJdy3uvYe1weS2uDWa861jKHQz7B0P/8d/3ZLe7+VyYdq51hCxG/26uShGYr2VxtETeUY6yXmiA0CHG1W/etOghESET0zyH1sm5R+AzviZuVvU8ja4FVfYURo2o9mP5P+01vWCRq6E3Qe+3VFfuHaIYXwwPfvm86iBS5rPHgLpy+99WmRCtfalaDzcQCLrY= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;20:8WsWgTw9yrvtTUOnwVIBdoEKhgl+UZe23g1NsEw2TGvfhnUMTqks9ZXjDZGw40KPmbbkh+zbFFtj3vEXyj46ByF0/8FelB4erNiCjb8EldRyMsafXpp2JiIplQKVGj6tgfh7Bcuryv3audRm0YKmjqtS/2ZPj5vJYviibw1x410= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2017 21:19:45.2718 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR15MB1088 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-21_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduce a per-memory-cgroup oom_score_adj setting. A read-write single value file which exits on non-root cgroups. The default is "0". It will have a similar meaning to a per-process value, available via /proc//oom_score_adj. Should be in a range [-1000, 1000]. Signed-off-by: Roman Gushchin Cc: Michal Hocko Cc: Vladimir Davydov Cc: Johannes Weiner Cc: Tejun Heo 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/memcontrol.h | 3 +++ mm/memcontrol.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index c59926c..b84a050 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -203,6 +203,9 @@ struct mem_cgroup { /* kill all tasks in the subtree in case of OOM */ bool oom_kill_all_tasks; + /* OOM kill score adjustment */ + short oom_score_adj; + /* handle for "memory.events" */ struct cgroup_file events_file; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 4face20..e474eba 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5333,6 +5333,36 @@ static ssize_t memory_oom_kill_all_tasks_write(struct kernfs_open_file *of, return nbytes; } +static int memory_oom_score_adj_show(struct seq_file *m, void *v) +{ + struct mem_cgroup *memcg = mem_cgroup_from_css(seq_css(m)); + short oom_score_adj = memcg->oom_score_adj; + + seq_printf(m, "%d\n", oom_score_adj); + + return 0; +} + +static ssize_t memory_oom_score_adj_write(struct kernfs_open_file *of, + char *buf, size_t nbytes, loff_t off) +{ + struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of)); + int oom_score_adj; + int err; + + err = kstrtoint(strstrip(buf), 0, &oom_score_adj); + if (err) + return err; + + if (oom_score_adj < OOM_SCORE_ADJ_MIN || + oom_score_adj > OOM_SCORE_ADJ_MAX) + return -EINVAL; + + memcg->oom_score_adj = (short)oom_score_adj; + + return nbytes; +} + static int memory_events_show(struct seq_file *m, void *v) { struct mem_cgroup *memcg = mem_cgroup_from_css(seq_css(m)); @@ -5459,6 +5489,12 @@ static struct cftype memory_files[] = { .write = memory_oom_kill_all_tasks_write, }, { + .name = "oom_score_adj", + .flags = CFTYPE_NOT_ON_ROOT, + .seq_show = memory_oom_score_adj_show, + .write = memory_oom_score_adj_write, + }, + { .name = "events", .flags = CFTYPE_NOT_ON_ROOT, .file_offset = offsetof(struct mem_cgroup, events_file), -- 2.7.4