From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S968768AbdIZMji (ORCPT ); Tue, 26 Sep 2017 08:39:38 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:39406 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753940AbdIZMjg (ORCPT ); Tue, 26 Sep 2017 08:39:36 -0400 Date: Tue, 26 Sep 2017 13:39:01 +0100 From: Roman Gushchin To: Andrew Morton CC: Linus Torvalds , , Alexander Viro , Ingo Molnar , Oleg Nesterov , , Subject: Re: [RESEND] proc, coredump: add CoreDumping flag to /proc/pid/status Message-ID: <20170926123901.GA26395@castle.DHCP.thefacebook.com> References: <20170914224431.GA9735@castle> <20170920230634.31572-1-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20170920230634.31572-1-guro@fb.com> User-Agent: Mutt/1.9.0 (2017-09-02) X-Originating-IP: [2620:10d:c092:200::1:b9de] X-ClientProxiedBy: HE1PR05CA0164.eurprd05.prod.outlook.com (2603:10a6:3:f8::12) To CO1PR15MB1077.namprd15.prod.outlook.com (2a01:111:e400:7b66::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d6ea5ae2-d41f-4db4-dc9f-08d504db99a1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:CO1PR15MB1077; X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;3:z5VFcy6V1wWzjR8gsOpOnpXSIPk6bXcQuDomarb1rpV/vIY4W+KcNaL3j2qgqBkxQFU0njboKTuDGfWw6/HqLeY+Fo13TcOVpOqTXL6HlcVfZwkcRGuUF8msD99+lZ/itSUK64CE5HzAJmW+z5ojfdorAgu1f5ifN4+nKcLNdFFDSjLKqyDAXRicNAciY1lLwE5AiP07fjKB7jui5pCcATGt865VUEdBR+/za+7DBrX9GKr6iyhdePd+kWb7rKfh;25:Gxk5ZOzPOnCxt+smQjeRdUN7j0O7d5FNOg3hhnNC3L8wHH6/fNyS7v8WweoqNcB+BD19dOxo+HuGFQFL3/0zfnzZURI7ofvdGLbjvsv32oEyct4blMowdvz55uTKEo7kMjsgfOVKxywyzUTu/wNAIxzYmEoQYtPY3bs1z/0Fz6SykFJe0/UC/kFJqeSVx8nckaPVQyUO8JmNdT+2ayrQi9J30PKcCtjY1wHONpIzdMiYxw3ksZOuBYS2W5w07SWUtFGCZPggarqlq/GhxOCG63pVPuyEdGZlKQyMVwd+AawM8yj6FMC23BPeCdX2s1A7GPSWHoO5cLn8svrXduDo8g==;31:pXKmHx3bXIBOZzDJ9Nyfpx0LI6+BPqsy6Dd+BdiX9tdTKXOSGu+Jn0RZz3PC2+/zjNjOZ7sWIO+t5AvfavkGLLFB9C+ySZF2Aw1Xy+OZ5Eda9qU3iwX9IJgpftzvbXzZas8ZRb0ejBBLhmzrF1sCLDg9/aKZd/6H7vD2EWzCa+1+xqQbC7EeUrrFE1quxlHbD3AtU+eL1CxKg8zs2nN1vzfDrySOjl9dwZszhUl3Btw= X-MS-TrafficTypeDiagnostic: CO1PR15MB1077: X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;20:GceMEHZQeQ0C0OIz9pDN4ZJabHWsb+dmjIeqKL9t6ti2e4elVRdAFmgzXN9WZ5bGEashGar/Q2ydzvvCBbJTiuAmtZFHGbwPZcMkQzg1cRfP8cAPFw3b+wdzbb4r8+LiAjR5TmgNDAcdsUYtPBHvT11gcrKFe+h8T3/IqKnMA2N8R3hnSKRS6F9j8/kI2f0hiJKX3HD05VZyT/+GtGdvD3loFKKBFSopOufihL8dCc2RQUMFhdg/RLvJ3KvKKxPF6ALd1uBcW5/E4eMNbQNImR3wKUKuEKrxJpupWgh7V+BVo2Qc7qhbpxYDusPi57TlhLpKoQvnDYNwM5xKeRjpTeV+e7tvSTNb8foruv+BnNfcB6Yk4TWKU5okADgAc6ohfiL5O3S7IkuesCCjPdijVx0QCh2qerG0gQvXDjw4IwHhgiZjgB/hmsK+vMBRIPQBGO1LhsdnLF6kxQ1ZNiKoRw/b0mjbLu0ZkNmzI0VSM1bk/W7rxXddKwkLDXVDkwOA;4:UZYtW9IYjA9ZO1g1GjwKmD150c0KQlmrVrJ+YFGoKUvYonIpdKeH8i7twmtca06+MQROqEHJek0u7lPQn1qNytd/gfFo6ZSsPvOQiTc7k9nT23V9pFGEUgYS8Zx+H4EUxmdFjXrProRhvsBijRRY/WhjxvdOjKnmVRBAqqgpm5b8K0xXEFe9Ns3ZqQupyrMX8dVO9uK4R5fzewvv5ihl22zMYC7qOt1I9zSLuy9ICow8EMaSUO/FzE82c344ilxcyTdJO5YHcJvMu8ki2oqcGCb8UafwC/38msqqdewLakHJw9/gHsObR5oZz5b6UY4RbtFFFfYNOTvQGl7f1TqR5k4Wpm/9ADTnU3KPcclpnds= X-Exchange-Antispam-Report-Test: UriScan:(72170088055959)(9452136761055)(67672495146484); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CO1PR15MB1077;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CO1PR15MB1077; X-Forefront-PRVS: 0442E569BC X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(979002)(6009001)(376002)(346002)(199003)(189002)(24454002)(83506001)(9686003)(8936002)(101416001)(81156014)(1076002)(23726003)(81166006)(97736004)(8676002)(6506006)(68736007)(55016002)(54356999)(229853002)(76176999)(106356001)(2950100002)(47776003)(105586002)(478600001)(6246003)(6916009)(305945005)(316002)(5660300001)(2906002)(50986999)(6116002)(33656002)(6666003)(189998001)(58126008)(16586007)(50466002)(7736002)(54906003)(86362001)(53936002)(575784001)(25786009)(4326008)(18370500001)(42262002)(309714004)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:CO1PR15MB1077;H:castle.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO1PR15MB1077;23:s0rmgwE2Ul7J2NKMdm5wHuV/GSv7sSbIngAYHx9l/?= =?us-ascii?Q?9Hi/OX4thjBFQVvKMzMZJOFzuY8iuQ6VKw5nslnOTHR1ZfZOBMh/2haTFuxW?= =?us-ascii?Q?+WTrobF6JwCel5WMMiIRKm/YCbNYnGu9F6AZm+/AtuZvU2OAf0ewOsqNE06O?= =?us-ascii?Q?/L8dl/xhKRgEcoGHjgyRo1Q2oagA1YRcgx6RVIZ154i9rM8zsCZ5HtHz2Zek?= =?us-ascii?Q?+YtCKFGGT9ChIC9orp3LSUJJnG8Zb5iR42s7nfV0ju8TvQkCrN1hT0JIDQqY?= =?us-ascii?Q?wSrBusChVrUtmd1wIGZGjUxQxCATvXkPDWkh/Awy5xUx8GEUUEp2ZMQOlPL7?= =?us-ascii?Q?05dUpH0KDBTyEVrnHNq+bzZtmqcbn9IMz888e2Tik0Usb3z+EQ0cjsP/33nJ?= =?us-ascii?Q?WCbuvLLRZ8psZIqKVFKXvBzx/bbAwo901Ya0+qZvHOnKoHN+DGzvR5z4nIrE?= =?us-ascii?Q?2jUYcHhpbwsUsL4Sc6vylFFY/7M8ON76q8O7zM97Okvj2ysZC80SZIZNrrSp?= =?us-ascii?Q?LqEQkP9VO3uwC/+SLMFEQCQf0Gq7PKNcuex1Sl5sl6rwOQ6S36lFpOTo6pdh?= =?us-ascii?Q?3zPQ0s+4spHafeLjgI4eW3x4XzrM4/ZoI8JsUjoQ2hr6DhNn0cXYMO+GNGGV?= =?us-ascii?Q?w47JQlHouOxHtS2MfokmbEepzLLrHyxY4kbjOGZ3gBx1UeiMSNVWMVFoiFPg?= =?us-ascii?Q?zo9ZHtUpS/3WtC7PiNEFLdhoUnkZSVPS3fkS6GiAhTKmM4J105cjZykXAY9d?= =?us-ascii?Q?OkZjddZNO+b0hmfUN6zoNF9pB2vTaAI/44cDuIKSUXjuVjQWUtHUMAHdRHmX?= =?us-ascii?Q?Dekv3/1AMzdOxXpFBtIeiGbKs/iUl7erGqNndbDFDCMSjgnRJG4RACI7HoUL?= =?us-ascii?Q?ov97m47TT26H173a0aKv9FYtn0/2c7kjJp7k9eu3sBb0gHIlKYl4jbVB0SXq?= =?us-ascii?Q?WA9vI+ru7N6CSKq9sLVkWqTf40FR52eIB/2nGf0wvU/G4TbtcZ3o8u6ajgMN?= =?us-ascii?Q?UbbQUK+lLWMGiQ1NB+b7Rrt5Gz1mP/sCi50WL/AzvJUgG0drGshIexnnv+qj?= =?us-ascii?Q?YSa048kwgUC9erx2uUry06SbMK81QdHCbyxg/XxhkRtD5YHfURmt3L7bg6o9?= =?us-ascii?Q?DnEoHrUPutCEoGGIDO+yRHdaK+o1o4FCbG3DYnMuYASZgciff7idsf1C+WrX?= =?us-ascii?Q?sUXcMdVirfTbHMkY0o91omYXk87SoavjuJfiAPM/rDrfX8l/B3+DSBREi+E5?= =?us-ascii?Q?adWgPnHrNu5uwJQQeKGWTIUxRVSn7nmRHybQOay0vClGuTHZOkUwpV7TgA1S?= =?us-ascii?B?UT09?= X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;6:4X8JcymwedJpt/o3Qr0sIVc01FU8vd/QsVRm1sHnqpKzvQCC4xzrWC2lrpc3/z2gkRGiBsiPrGffiCsLmGO3SuTWnQSio98q6aoXDYtPJMarYpsBbMAaJCk/f48e509zURVtj43HTwYuMADCO0p1JWSLdE/YwC1rc5ir0CffUqLT0dQdLwS5VG3SEVdg3VbiKv/Pe2iJtxPpQ+Jtbrtq1gm4TlUWsu60jEDP9DU1o+r/AlXQZPkFGAhYf+dofAqf1C5a3llxZNayhU5Ft4RE6dQbzXyyA71264klOPc/S5CnS/OIIpC/jHNAobf1ypDHFNiyuDSQeOFnxXDj2M1o5A==;5:JdrvWfJEwyjhm0A8wFPoU5BAjCgkjcb+bATHtkzYjsQuYKW698VtwwyX9zEtqh0xTNh+1EzvdW7yTZj9CYtP8zVa+X23cLzuT2JTLdGNjNAMXDa1WV1m6+MvXXOJRIDKc1CDxHJYEwLe6juDHp4aFA==;24:8EQlOJgofd07bO7Vs9ho1iISvzoSaomXnonaacPZErieUq1rW+D6TIl5cVYuDYn4hJIuTR9s3zJgU/MvNC6uBw/a2rCuTkwxcAUrU3eIkLA=;7:yK+X4M4bVDyVRAjFRC0cyxIdUBnJf335XNWyS1ShkEAqbNM3V4uCsMzuVP1PqffqZrtxnlbPEi1HR8L5lyPyPkpLveuaO8Yh10kesPY+xFlTwwS7Wo1eEqLt5j6fZYP8DrQoITKLL+fXvAVR/AKwsxl04hxpOy6AKylZSbYSpAf0kkJ9WJrxveJv9q4u+jzF5HML4PTVIkV58lkBNmjYPT2+syxxYDHVPOLo6g+ISk8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;20:mkoe/25i38eI0/uIhHv0FrULzubdj3uVMthGWUlA0ZTBF+a8BqyqGVo300EoKImvN1ob5CBiw57QgLX0iut9vsy9lNqxAKVRuxfy4IGvlsB/O8VvQh/XGmps4P93yB9cihb6XS5X0DOHyFaydOQUPFeQgjxRrdVNhdeeYMk5OkA= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2017 12:39:14.1850 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR15MB1077 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-09-26_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Andrew! As there are no objections, can you, please, pick this patch? Thank you! On Wed, Sep 20, 2017 at 04:06:34PM -0700, Roman Gushchin wrote: > Right now there is no convenient way to check if a process is being > coredumped at the moment. > > It might be necessary to recognize such state to prevent killing > the process and getting a broken coredump. > Writing a large core might take significant time, and the process > is unresponsive during it, so it might be killed by timeout, > if another process is monitoring and killing/restarting > hanging tasks. > > To provide an ability to detect if a process is in the state of > being coreduped, we can expose a boolean CoreDumping flag > in /proc/pid/status. > > Example: > $ cat core.sh > #!/bin/sh > > echo "|/usr/bin/sleep 10" > /proc/sys/kernel/core_pattern > sleep 1000 & > PID=$! > > cat /proc/$PID/status | grep CoreDumping > kill -ABRT $PID > sleep 1 > cat /proc/$PID/status | grep CoreDumping > > $ ./core.sh > CoreDumping: 0 > CoreDumping: 1 > > Signed-off-by: Roman Gushchin > Cc: Andrew Morton > Cc: Alexander Viro > Cc: Ingo Molnar > Cc: kernel-team@fb.com > Cc: linux-kernel@vger.kernel.org > --- > fs/proc/array.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/fs/proc/array.c b/fs/proc/array.c > index 88c355574aa0..fc4a0aa7f487 100644 > --- a/fs/proc/array.c > +++ b/fs/proc/array.c > @@ -369,6 +369,11 @@ static void task_cpus_allowed(struct seq_file *m, struct task_struct *task) > cpumask_pr_args(&task->cpus_allowed)); > } > > +static inline void task_core_dumping(struct seq_file *m, struct mm_struct *mm) > +{ > + seq_printf(m, "CoreDumping:\t%d\n", !!mm->core_state); > +} > + > int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, > struct pid *pid, struct task_struct *task) > { > @@ -379,6 +384,7 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, > > if (mm) { > task_mem(m, mm); > + task_core_dumping(m, mm); > mmput(mm); > } > task_sig(m, task); > -- > 2.13.5 >