Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp3850474imm; Fri, 25 May 2018 12:49:43 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoA+DYw1nWxW2sCsCXREvTclgczHpM76x1NG5NcTKVvnuhlFdmms4GtQjbW5nbzq3c0Up7A X-Received: by 2002:a63:7356:: with SMTP id d22-v6mr3097744pgn.156.1527277783910; Fri, 25 May 2018 12:49:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527277783; cv=none; d=google.com; s=arc-20160816; b=bqYUfU/bUDMJ0k+H+57ICvYnogxBJ+Q3TbuCmgUQLXTN+zvWqnYM9R7NyU0/hD09zh YBEVNU6Oyk+G/H0qeG5i5yyTGdAiAuJHewQOPExJLe/oeQNluU/a5INXc/uwbgHUC5Z4 s3Rg6iuBKj/JpojQjeM50nWzD9sgNLIvzYLE/B1rnmc23GdhvK/vTPdv4H0xFzHHd/BG MgIzU2/WyN9esAntyhGNuQD4pKz5AEBoBCwY+bhY4bbGitOXzjLklKSJHzgZ/xwtqN0f zUbQLBJQFjAo2r52LiSl+3bs7FctWxC/u9Pclo3n9190fdQAInTpBwo0J9RPHdDVB7WX fZcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date:dkim-signature :arc-authentication-results; bh=zct+GWzu3pvf85OSTZHw4Mwb2NN8F8Emg7yBbhRO/vM=; b=x3HzjuMqzdjJOoiyA8zGnsflXhzkZxdP4efRo5HM6XkgwYINDPMmfY9UVxNZz6HbGc cI2GzxBgV//tEQWSdqTCr3E3QMqQnBdco8aE4/f7wuZtEfLUT7gExdV3UYg8Oc+OoEkd fKTHzCHzvPe2UHLhbmQbT+NBaK3q0iTgyJ2UPTEkMQvkMfo4dk3HQiji31wCxUq7gD4e kbO+ZWpjVuCwApmuiujuKzrI+9gKfYd9eZUOOSJoNJFhnwohnkNAf6Tj1U/iQOFGMfOX vdyQxEEJsHEWDxBE/sAwjSl4E6GCBF0ZcSc9Tt1Q+AJIH4s+qpLF+JjnYDlEZcI77Kmx a10Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=rCwVYLoR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 1-v6si25234534pld.450.2018.05.25.12.49.15; Fri, 25 May 2018 12:49:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=rCwVYLoR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S968031AbeEYTs5 (ORCPT + 99 others); Fri, 25 May 2018 15:48:57 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:33855 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S967784AbeEYTs4 (ORCPT ); Fri, 25 May 2018 15:48:56 -0400 Received: by mail-pf0-f195.google.com with SMTP id a14-v6so3049804pfi.1 for ; Fri, 25 May 2018 12:48:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=zct+GWzu3pvf85OSTZHw4Mwb2NN8F8Emg7yBbhRO/vM=; b=rCwVYLoRp/9F+rV9DFTXencY54l2v9jKmK37+1FLoz9WnRKUe8cCG8PPtE/5c4JSla beTm7sb8SgrBA5KCOfsw9w95n4F2BmT3vbGdiq7xZXvbcqt1g46OjSoNpahPFI3vUT4i MIVpbZTEkrEnM8dmPmr0uZeqXJspSmRjLPj3v33eRQhB3fdW6TqeqEOU/xiz1MWmG7Na kVewEMy7BnmILJAHPI2V+TQEsZtrD/WWBMLuqZI2ysZhZqeD7IPOX5WLJotkq2l6qTzB TSKzAQP+1fG3RffkEApcHBSbpiiO4EufiuoSQ8G52SJ+UbaSw2WqhZ96GZyVuplnIPt1 FDZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=zct+GWzu3pvf85OSTZHw4Mwb2NN8F8Emg7yBbhRO/vM=; b=GWgZ72nvn2tsbcyx2rvEiTWyWXBjWBXZEZ9zOTIbih88r2FTn0fd1jrVPZFsOzglNg pEfJvcETiJOxcWcyHi63fWUsfJ0KqcILxob+g/WeF5Z5528VljtrNQVswLmpAc4kD+oL BGDHA8f200s2L2IJieJDIBJjly00FwcVsZi9e+RHVL0pz/JvM4yD4+IXLQ9Jne79+YDs wdklv+3eS4XicUaqpQLTA+NEUEkgkr5ram/ZIMp38Cx6sSUHnmOr/ylDY8GiWl4XRlWL AIante4wQH4NrSpdZgBoiFAgYRM/1IzvZWRBumBYc50T+OCN0gfZWuzxTFZMaivw04DV wk/g== X-Gm-Message-State: ALKqPwdDh6+Hu6BLkTrPRQLvwdhXza40VO3p2Z+5JTGFRqsSGiDzRQAw br+nxX512SuXNJnCZ7DEoxpsLA== X-Received: by 2002:a62:4353:: with SMTP id q80-v6mr3886071pfa.228.1527277735796; Fri, 25 May 2018 12:48:55 -0700 (PDT) Received: from [2620:15c:17:3:3a5:23a7:5e32:4598] ([2620:15c:17:3:3a5:23a7:5e32:4598]) by smtp.gmail.com with ESMTPSA id s2-v6sm43328295pfb.127.2018.05.25.12.48.54 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 25 May 2018 12:48:55 -0700 (PDT) Date: Fri, 25 May 2018 12:48:54 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: ufo19890607 cc: akpm@linux-foundation.org, mhocko@suse.com, kirill.shutemov@linux.intel.com, aarcange@redhat.com, penguin-kernel@i-love.sakura.ne.jp, guro@fb.com, yang.s@alibaba-inc.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, yuzhoujian Subject: Re: [PATCH v5] Refactor part of the oom report in dump_header In-Reply-To: <1527213613-7922-1-git-send-email-ufo19890607@gmail.com> Message-ID: References: <1527213613-7922-1-git-send-email-ufo19890607@gmail.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 25 May 2018, ufo19890607 wrote: > From: yuzhoujian > > The dump_header does not print the memcg's name when the system > oom happened, so users cannot locate the certain container which > contains the task that has been killed by the oom killer. > > I follow the advices of David Rientjes and Michal Hocko, and refactor > part of the oom report in a backwards compatible way. After this patch, > users can get the memcg's path from the oom report and check the certain > container more quickly. > I like the direction you are taking. A couple notes: - you may find it easier to declare an array of const char * for each constraint: static const char * const oom_constraint_text[] = { [CONSTRAINT_NONE] = "CONSTRAINT_NONE", [CONSTRAINT_CPUSET] = "CONSTRAINT_CPUSET", [CONSTRAINT_MEMORY_POLICY] = "CONSTRAINT_MEMORY_POLICY", [CONSTRAINT_MEMCG] = "CONSTRAINT_MEMCG", }; - we need to eliminate all the usage of pr_cont() because otherwise we can still get interleaving in the kernel log (the single line output should always be a complete single line that can be parsed by userspace). - to generate a single line output, I think you need a call to a function in mm/memcontrol.c when is_memcg_oom(oc) is true and otherwise a function in mm/oom_kill.c when false.