Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3450513imm; Tue, 29 May 2018 07:29:00 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpRPih8hiDoMlB3Ckz11TiT6xwdLF7dX1kzR+Oxly2Ul5hmNZPtGfH7bxYs9wszAq+CPv/g X-Received: by 2002:a65:62c5:: with SMTP id m5-v6mr14125091pgv.13.1527604140363; Tue, 29 May 2018 07:29:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527604140; cv=none; d=google.com; s=arc-20160816; b=rQO84rHoBs342MBF6xh3j/XxdCxoNN4SRzU/fvOR9Ge97sjVGVBsGfTi+haVFc3VlN r+NIMkFM940XHKjXiOLEaPDtkHkQcf/fWlcbUzzI0vvZwUQ1QoAkiYtrwM0r+6fIsRv0 /a0IOJQp3FdOoT55kXwJyoDQHvBV+PxSmmddxMoXbGnYRdiQSU6NPfYnoMCut7/Em0o6 JbB8HsXKfHUpe0pP3IBkz9tTgKqfwWucgAIbhlbWqU2kOSM0vDODLVOvVizkpsX2ostv knu743R+263L6p2uP3VWOZXhsFqWez1cDHBt9CHYoEKophfMPtUGozHm7MR1bOMkmzM0 Q2XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=PptMBjl2N5vzV5BUPyCw5LC7nJE445e5vaWzCluAins=; b=tos4FvvSzLzGdBeVt4mjmR34O0qcamtrOD56nsDryYda+x/2j+iDRKOBpYaoabeCn+ Ep9w3BR8BzuVajMf+Zjtk+tKYC3kz8s77l574HRy0Ftt2LKJgHt59H6xZ1TogE1AOvUe 0VDX4yGf57gsVWhM9Mubm0AQ1sEohjY8A1lAhwKHAuxGtmSm9cCR8MHWuNImomob2Cul zooeWhTKnd97/0nlZqIP4VnpAYauuypJM9C96okM2uJmhAdyUV8GlxSXCacvsNaTT6cJ il0mqeOVRWOHa3XaeHAb95h0hXblrZcV74dtb8fTr6GNytFX5inXViPI5Y8DAcV33fOT gSAg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r126-v6si33422822pfc.202.2018.05.29.07.28.45; Tue, 29 May 2018 07:29:00 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935281AbeE2O0p (ORCPT + 99 others); Tue, 29 May 2018 10:26:45 -0400 Received: from smtp4.ccs.ornl.gov ([160.91.203.40]:38208 "EHLO smtp4.ccs.ornl.gov" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935092AbeE2OW0 (ORCPT ); Tue, 29 May 2018 10:22:26 -0400 Received: from star.ccs.ornl.gov (star.ccs.ornl.gov [160.91.202.134]) by smtp4.ccs.ornl.gov (Postfix) with ESMTP id DFA6910052C6; Tue, 29 May 2018 10:22:06 -0400 (EDT) Received: by star.ccs.ornl.gov (Postfix, from userid 2004) id DD1FDBF; Tue, 29 May 2018 10:22:06 -0400 (EDT) From: James Simmons To: Greg Kroah-Hartman , devel@driverdev.osuosl.org, Andreas Dilger , Oleg Drokin , NeilBrown Cc: Linux Kernel Mailing List , Lustre Development List , Amir Shehata , James Simmons Subject: [PATCH v2 11/25] staging: lustre: libcfs: provide debugfs files for distance handling Date: Tue, 29 May 2018 10:21:51 -0400 Message-Id: <1527603725-30560-12-git-send-email-jsimmons@infradead.org> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1527603725-30560-1-git-send-email-jsimmons@infradead.org> References: <1527603725-30560-1-git-send-email-jsimmons@infradead.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Amir Shehata On systems with large number of NUMA nodes and cores it is easy to incorrectly configure their use with Lustre. Provide debugfs files which can help track down any issues. Signed-off-by: Amir Shehata Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-7734 Reviewed-on: http://review.whamcloud.com/18916 Reviewed-by: Olaf Weber Reviewed-by: Doug Oucharek Signed-off-by: James Simmons --- Changelog: v1) Initial patch v2) Rebased patch. No code changes from original patch drivers/staging/lustre/lnet/libcfs/module.c | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/drivers/staging/lustre/lnet/libcfs/module.c b/drivers/staging/lustre/lnet/libcfs/module.c index b438d456..d2dfc29 100644 --- a/drivers/staging/lustre/lnet/libcfs/module.c +++ b/drivers/staging/lustre/lnet/libcfs/module.c @@ -468,6 +468,53 @@ static int proc_cpt_table(struct ctl_table *table, int write, __proc_cpt_table); } +static int __proc_cpt_distance(void *data, int write, + loff_t pos, void __user *buffer, int nob) +{ + char *buf = NULL; + int len = 4096; + int rc = 0; + + if (write) + return -EPERM; + + LASSERT(cfs_cpt_tab); + + while (1) { + buf = kzalloc(len, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + rc = cfs_cpt_distance_print(cfs_cpt_tab, buf, len); + if (rc >= 0) + break; + + if (rc == -EFBIG) { + kfree(buf); + len <<= 1; + continue; + } + goto out; + } + + if (pos >= rc) { + rc = 0; + goto out; + } + + rc = cfs_trace_copyout_string(buffer, nob, buf + pos, NULL); +out: + kfree(buf); + return rc; +} + +static int proc_cpt_distance(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) +{ + return lprocfs_call_handler(table->data, write, ppos, buffer, lenp, + __proc_cpt_distance); +} + static struct ctl_table lnet_table[] = { { .procname = "debug", @@ -497,6 +544,12 @@ static int proc_cpt_table(struct ctl_table *table, int write, .proc_handler = &proc_cpt_table, }, { + .procname = "cpu_partition_distance", + .maxlen = 128, + .mode = 0444, + .proc_handler = &proc_cpt_distance, + }, + { .procname = "debug_log_upcall", .data = lnet_debug_log_upcall, .maxlen = sizeof(lnet_debug_log_upcall), -- 1.8.3.1