Received: by 10.192.165.156 with SMTP id m28csp209791imm; Sun, 15 Apr 2018 21:15:44 -0700 (PDT) X-Google-Smtp-Source: AIpwx49s1c/Z53azEQIa3exxrJn81AkYA8w2hpSuM42b5Qk2YXrFahdCRmlAAFPqfGB8HLarBXoj X-Received: by 2002:a17:902:6e8f:: with SMTP id v15-v6mr6085739plk.245.1523852144143; Sun, 15 Apr 2018 21:15:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523852144; cv=none; d=google.com; s=arc-20160816; b=TET/W1fQ7yB2lUsDLXnaYx1gUaA3iJrcl0dlPwj5DydjqiqYtsBEj5rFPKRLQ0k6vm Qynam5PVl31XMWJvGlS9a0474O9SdZpKtPg8ceIa04uU+TSBKur++sBA2XkbmRnuF5ws 1e7PL4Axxkg8cFVMkDrjySmsXaF2TqAcxjjRLrSaR7kajMh+qtwsUmlK/dp9eLGSjCSU Y9Uk5TKTdNxyM7UxsPFLFuc/bWN8stVyVq5UQxmRScTp3Socj4fK86BQExvDK8p3f2Ph qe8el3w8JbXKppGu0XbJaFMa5B7jZKGtv2iADqsR6Oj+7TQMNNsQcq39sc0KMJpuOcmH VOHg== 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=acX8RuRfw+CowMGgAHPzDZQbdZn2yEdJ7AV+tJ3X4YQ=; b=EGY/8RDcO/9lJxXuOcmI2K+7dGfo/W1vgzbngtcvNktlLjs5+FrANewM2Y3xyhhSiY OvsUROZUa94UQC5ekNqr6jpgcrNQx33PYbHjTQwSj+cBboRLtymoMCpjC2+KsBjhpTCb VqVaYpo+GD8Vl8Fm8foxEp87bgDvQSc4t9BnkvHfMwAbN/v0Pk1LG8bOrpCS614agKK1 KAB+8wi4jf04PAvqWY5Vy96f9blbQ7tvQfTyPj1rNTEC6WUUYt3TDTjQNwdN9a4xkHZO YGWemN+bULB34mJHHfVC/kq59m1v8hLgrcbskO1rnocyKm1S3+rYmSD5pXZvezGnFzOx POHA== 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 bf10-v6si11538280plb.417.2018.04.15.21.15.30; Sun, 15 Apr 2018 21:15:44 -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 S1753446AbeDPENx (ORCPT + 99 others); Mon, 16 Apr 2018 00:13:53 -0400 Received: from smtp3.ccs.ornl.gov ([160.91.203.39]:36400 "EHLO smtp3.ccs.ornl.gov" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752306AbeDPEKT (ORCPT ); Mon, 16 Apr 2018 00:10:19 -0400 Received: from star.ccs.ornl.gov (star.ccs.ornl.gov [160.91.202.134]) by smtp3.ccs.ornl.gov (Postfix) with ESMTP id A40CE347; Mon, 16 Apr 2018 00:10:11 -0400 (EDT) Received: by star.ccs.ornl.gov (Postfix, from userid 2004) id 9E88D1F8; Mon, 16 Apr 2018 00:10:11 -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 10/25] staging: lustre: libcfs: provide debugfs files for distance handling Date: Mon, 16 Apr 2018 00:09:52 -0400 Message-Id: <1523851807-16573-11-git-send-email-jsimmons@infradead.org> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1523851807-16573-1-git-send-email-jsimmons@infradead.org> References: <1523851807-16573-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 --- 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 a03f924..95af000 100644 --- a/drivers/staging/lustre/lnet/libcfs/module.c +++ b/drivers/staging/lustre/lnet/libcfs/module.c @@ -336,6 +336,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_table); + + while (1) { + buf = kzalloc(len, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + rc = cfs_cpt_distance_print(cfs_cpt_table, 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", @@ -365,6 +412,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