From patchwork Thu May 28 23:53:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Axel Rasmussen X-Patchwork-Id: 11577279 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 83C5D90 for ; Thu, 28 May 2020 23:53:09 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 46A182075F for ; Thu, 28 May 2020 23:53:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="NjbrFoLg" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 46A182075F Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 5B5D5800BA; Thu, 28 May 2020 19:53:08 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 53E5E80010; Thu, 28 May 2020 19:53:08 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E049800BA; Thu, 28 May 2020 19:53:08 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0153.hostedemail.com [216.40.44.153]) by kanga.kvack.org (Postfix) with ESMTP id 21A3880010 for ; Thu, 28 May 2020 19:53:08 -0400 (EDT) Received: from smtpin04.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id DA10B180AD804 for ; Thu, 28 May 2020 23:53:07 +0000 (UTC) X-FDA: 76867781214.04.field12_8fb0c3849355b Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin04.hostedemail.com (Postfix) with ESMTP id BD44C800794E for ; Thu, 28 May 2020 23:53:07 +0000 (UTC) X-Spam-Summary: 2,0,0,302f83297b331b18,d41d8cd98f00b204,34k7qxg0kcl0d0houdvpxvvhqjrrjoh.frpolqx0-ppnydfn.ruj@flex--axelrasmussen.bounces.google.com,,RULES_HIT:41:152:355:379:541:800:960:973:988:989:1260:1277:1313:1314:1345:1431:1434:1437:1516:1518:1535:1541:1593:1594:1711:1730:1747:1777:1792:1963:2393:2559:2562:3138:3139:3140:3141:3142:3152:3352:3865:3866:3870:3871:4117:4321:4605:5007:6261:6653:6737:6742:6743:8603:8784:9010:9969:10004:10400:11026:11473:11658:11914:12043:12048:12114:12291:12296:12297:12438:12555:12895:12986:13069:13311:13357:14093:14097:14181:14394:14659:14721:21080:21433:21444:21451:21627:21990:30034:30054,0,RBL:209.85.219.202:@flex--axelrasmussen.bounces.google.com:.lbl8.mailshell.net-62.18.0.100 66.100.201.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:neutral,Custom_rules:0:0:0,LFtime:23,LUA_SUMMARY:none X-HE-Tag: field12_8fb0c3849355b X-Filterd-Recvd-Size: 6669 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by imf31.hostedemail.com (Postfix) with ESMTP for ; Thu, 28 May 2020 23:53:07 +0000 (UTC) Received: by mail-yb1-f202.google.com with SMTP id k186so892921ybc.19 for ; Thu, 28 May 2020 16:53:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=DrykbNQsUW+LkI5EFeIZc2m/lCKE6nVRHmkg0Fikq0Q=; b=NjbrFoLgfToEtzxh2vM6jkIcH/+dCfjW2ZnHmN0H36EWQPdDB8fCib1ut5wYterxKp fxtTCZty8OwZmBIA6DcQZpRf0PfpSnLsUkn7sYfvUmZNne7cvov3ZU0ynP7/zOOnfK0m MpyG/PaVlnGmgxeERdeQRt22qxMDHZh5qzlR2vIK6/9ntuyV2U6X+ub4WxbxRueY0Nri GNB1fFXfFtpIN037tJVg5xtObmyuwPC3dlX+V0CHruF1qjbUNgT7LU3RZeW6VHMyVxFG 8n1cisFhPweNuo14bMc3+7WLFKEnhKmDLJaGTTUBhz7Oi0WWiqvhKIAlVqAYxwBwYsUi vttg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=DrykbNQsUW+LkI5EFeIZc2m/lCKE6nVRHmkg0Fikq0Q=; b=SuoinnWi5hx17jLst711AvZosZG0CGoad855G55gHq9EBWLLjIkvbxZOU2hyyM4kJP L3pgfh5nI17unWqkTYL19olqRkYMWYOiNdKlA/WaGzQkjXDTZn2mF0Wa1CEL5UQj2gGL 9dojmasYjT4ksKRxFS8II0Wgub421qLWaQ2Sy173HRccdIIUp7/WE9Sw0TfF4IxCQU47 jbjvc1OoUSN9tbhcFR5i9XIfn4iaienX1DIBvuxoIDAxSf4a+52oJ+UOHtZ8VXMeHgzn AKr8yrKuAyWu42fcRwyjsMimnhul9pqYiMoYrWAIb+D8+bWwAB9ZwrCvWk69wkyVls0h 2SPA== X-Gm-Message-State: AOAM532c+BWtmElt7Awo+kUrDmXDddeKRV5/6u/sShBIfgYm0Wg3bWEe pOJ7mw6VgClcWqb0RmFVT4mNdNMcGClbmZhxAOSe X-Google-Smtp-Source: ABdhPJxsppeOKhttkL5/R/h/LoBSti7muDvl+5mL5lbZdZSHW2TVrq3/YQgoNaaXBe3dS9qdOf7kPpjUasxZZYm/V/ER X-Received: by 2002:a05:6902:6c3:: with SMTP id m3mr9677431ybt.70.1590709986498; Thu, 28 May 2020 16:53:06 -0700 (PDT) Date: Thu, 28 May 2020 16:53:03 -0700 Message-Id: <20200528235303.77873-1-axelrasmussen@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.27.0.rc0.183.gde8f92d652-goog Subject: [PATCH v2 5/7] mmap_lock: add /proc//mmap_lock_contention interface From: Axel Rasmussen To: Andrew Morton , David Rientjes , Davidlohr Bueso , Ingo Molnar , Ingo Molnar , Jerome Glisse , Laurent Dufour , "Liam R . Howlett" , Matthew Wilcox , Michel Lespinasse , Peter Zijlstra , Vlastimil Babka , Will Deacon Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, AKASHI Takahiro , Aleksa Sarai , Alexander Potapenko , Alexey Dobriyan , Al Viro , Andrei Vagin , Ard Biesheuvel , Brendan Higgins , chenqiwu , Christian Brauner , Christian Kellner , Corentin Labbe , Daniel Jordan , Dan Williams , David Gow , "David S. Miller" , "Dmitry V. Levin" , "Eric W. Biederman" , Eugene Syromiatnikov , Jamie Liu , Jason Gunthorpe , John Garry , John Hubbard , Jonathan Adams , Junaid Shahid , Kees Cook , "Kirill A. Shutemov" , Konstantin Khlebnikov , Krzysztof Kozlowski , Mark Rutland , Masahiro Yamada , Masami Hiramatsu , Mathieu Desnoyers , Michal Hocko , Mikhail Zaslonko , Petr Mladek , Ralph Campbell , Randy Dunlap , Roman Gushchin , Shakeel Butt , Steven Rostedt , Tal Gilboa , Thomas Gleixner , " =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= " , Vincenzo Frascino , Yang Shi , Yu Zhao , Axel Rasmussen X-Rspamd-Queue-Id: BD44C800794E X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam01 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: When this file is read, we print a human-readable listing of histogram buckets, as well as the number of samples recorded in each bucket. Signed-off-by: Axel Rasmussen --- fs/proc/base.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/fs/proc/base.c b/fs/proc/base.c index a96377557db7..42d706474971 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -96,6 +96,8 @@ #include #include #include +#include +#include #include #include "internal.h" #include "fd.h" @@ -3115,6 +3117,26 @@ static int proc_stack_depth(struct seq_file *m, struct pid_namespace *ns, } #endif /* CONFIG_STACKLEAK_METRICS */ +#ifdef CONFIG_MMAP_LOCK_HISTOGRAMS +static int proc_pid_mmap_lock_contention_show(struct seq_file *m, + struct pid_namespace *ns, + struct pid *pid, + struct task_struct *task) +{ + int rc; + + if (unlikely(!task->mm->mmap_lock_contention)) + return 0; + + rc = histogram_print_buckets_rcu( + task->mm->mmap_lock_contention, + m->buf + m->count, m->size - m->count); + if (rc > 0) + m->count += rc; + return 0; +} +#endif /* CONFIG_MMAP_LOCK_HISTOGRAMS */ + /* * Thread groups */ @@ -3228,6 +3250,9 @@ static const struct pid_entry tgid_base_stuff[] = { #ifdef CONFIG_PROC_PID_ARCH_STATUS ONE("arch_status", S_IRUGO, proc_pid_arch_status), #endif +#ifdef CONFIG_MMAP_LOCK_HISTOGRAMS + ONE("mmap_lock_contention", S_IRUGO, proc_pid_mmap_lock_contention_show), +#endif }; static int proc_tgid_base_readdir(struct file *file, struct dir_context *ctx)