Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2615070imm; Sun, 30 Sep 2018 00:43:35 -0700 (PDT) X-Google-Smtp-Source: ACcGV63vfOK8G+8lTze/CFywqmyWKBnWJCi8Kt5Bm8qBgCraL3yZ3EgF8OIuzkXo40iAoCu1siyn X-Received: by 2002:a63:1f58:: with SMTP id q24-v6mr5509184pgm.88.1538293415529; Sun, 30 Sep 2018 00:43:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538293415; cv=none; d=google.com; s=arc-20160816; b=P2FjjngMPSBGwGh1AbpGZ0hGp1svKeMjiIYDP5Y4s2u3odRVepH6DK8A3OUpTfq/Vv 8LxDwMXgIBSo9Cw0GBhPMmOMIsGw5QkzeZg7YTJx4PrCb7FGAJbLVUNUtcP+uOQV/afn F5/WjXvUsDi6g79l0sJfOa8i1h3kzg2SahN8uISptfSTW4Qs7OiuIAkqGalkf/hU0akw bTOIwgGWlHJ/En0FCItXAFPm+4cBliZ/UHzuOk3Mhy1jQ/YsvB0bKanK6PxKuIwjZeiz 8HSYDQ/HX6hUvlrBKD88FuE4S7BLZfhIhnbkkcfkuM/fwOHoZHzrEnEFDch6hQVKC6Ip bT5Q== 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; bh=VGugSaH/p+7KRxdn9p/o8GvL8kFfpigjCC8IwUdpNAs=; b=IwwiOhBDl+2+ph3VrNNJ+QyBE2LylmAGIr9EL2MPzj86ZcnqF074X2Vwi/5R/7KQGy +H4/62gLMetZBSMGSgCm2b5VmnndKhSVN7FQbbSOe9YpZ+MLAKeBnR+NQ4tFtk7horcV YIhQuVMuhfpYtQK/mbMoTasdCjy4ERi5yjm8Fv8cS7fjni2AUVGR/IqIhlbOqxARREfI Sy/duXFXrHks6in86WVcEEj2f5tz8xRMA7Mo7Gy280GomPczHXOt0jcjFCM/QRe9v3YJ GMWekJnOnDKgEyHWn7Pr64aL6nB72tVyP9qfH1xkCwFZFox+hSyxrUo7GR3ET9ODkuxD wV/A== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k18-v6si8940043pff.91.2018.09.30.00.43.21; Sun, 30 Sep 2018 00:43:35 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728043AbeI3OPG (ORCPT + 99 others); Sun, 30 Sep 2018 10:15:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40886 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727651AbeI3OPG (ORCPT ); Sun, 30 Sep 2018 10:15:06 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F2B734E90D; Sun, 30 Sep 2018 07:43:11 +0000 (UTC) Received: from xz-x1.nay.redhat.com (dhcp-14-128.nay.redhat.com [10.66.14.128]) by smtp.corp.redhat.com (Postfix) with ESMTP id AAF8A60164; Sun, 30 Sep 2018 07:43:07 +0000 (UTC) From: Peter Xu To: linux-kernel@vger.kernel.org Cc: Shuah Khan , Mike Kravetz , Mike Rapoport , Jerome Glisse , peterx@redhat.com, linux-mm@kvack.org, Zi Yan , "Kirill A . Shutemov" , linux-kselftest@vger.kernel.org, Shaohua Li , Andrea Arcangeli , "Dr . David Alan Gilbert" , Andrew Morton Subject: [PATCH v2 1/3] userfaultfd: selftest: cleanup help messages Date: Sun, 30 Sep 2018 15:42:57 +0800 Message-Id: <20180930074259.18229-2-peterx@redhat.com> In-Reply-To: <20180930074259.18229-1-peterx@redhat.com> References: <20180930074259.18229-1-peterx@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Sun, 30 Sep 2018 07:43:12 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Firstly, the help in the comment region is obsolete, now we support three parameters. Since at it, change it and move it into the help message of the program. Also, the help messages dumped here and there is obsolete too. Use a single usage() helper. Acked-by: Mike Rapoport Signed-off-by: Peter Xu --- tools/testing/selftests/vm/userfaultfd.c | 46 ++++++++++++++---------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c index 7b8171e3128a..5ff3a4f9173e 100644 --- a/tools/testing/selftests/vm/userfaultfd.c +++ b/tools/testing/selftests/vm/userfaultfd.c @@ -34,18 +34,6 @@ * per-CPU threads 1 by triggering userfaults inside * pthread_mutex_lock will also verify the atomicity of the memory * transfer (UFFDIO_COPY). - * - * The program takes two parameters: the amounts of physical memory in - * megabytes (MiB) of the area and the number of bounces to execute. - * - * # 100MiB 99999 bounces - * ./userfaultfd 100 99999 - * - * # 1GiB 99 bounces - * ./userfaultfd 1000 99 - * - * # 10MiB-~6GiB 999 bounces, continue forever unless an error triggers - * while ./userfaultfd $[RANDOM % 6000 + 10] 999; do true; done */ #define _GNU_SOURCE @@ -115,6 +103,30 @@ pthread_attr_t attr; ~(unsigned long)(sizeof(unsigned long long) \ - 1))) +const char *examples = + "# Run anonymous memory test on 100MiB region with 99999 bounces:\n" + "./userfaultfd anon 100 99999\n\n" + "# Run share memory test on 1GiB region with 99 bounces:\n" + "./userfaultfd shmem 1000 99\n\n" + "# Run hugetlb memory test on 256MiB region with 50 bounces (using /dev/hugepages/hugefile):\n" + "./userfaultfd hugetlb 256 50 /dev/hugepages/hugefile\n\n" + "# Run the same hugetlb test but using shmem:\n" + "./userfaultfd hugetlb_shared 256 50 /dev/hugepages/hugefile\n\n" + "# 10MiB-~6GiB 999 bounces anonymous test, " + "continue forever unless an error triggers\n" + "while ./userfaultfd anon $[RANDOM % 6000 + 10] 999; do true; done\n\n"; + +static void usage(void) +{ + fprintf(stderr, "\nUsage: ./userfaultfd " + "[hugetlbfs_file]\n\n"); + fprintf(stderr, "Supported : anon, hugetlb, " + "hugetlb_shared, shmem\n\n"); + fprintf(stderr, "Examples:\n\n"); + fprintf(stderr, examples); + exit(1); +} + static int anon_release_pages(char *rel_area) { int ret = 0; @@ -1272,8 +1284,7 @@ static void sigalrm(int sig) int main(int argc, char **argv) { if (argc < 4) - fprintf(stderr, "Usage: [hugetlbfs_file]\n"), - exit(1); + usage(); if (signal(SIGALRM, sigalrm) == SIG_ERR) fprintf(stderr, "failed to arm SIGALRM"), exit(1); @@ -1286,20 +1297,19 @@ int main(int argc, char **argv) nr_cpus; if (!nr_pages_per_cpu) { fprintf(stderr, "invalid MiB\n"); - fprintf(stderr, "Usage: \n"), exit(1); + usage(); } bounces = atoi(argv[3]); if (bounces <= 0) { fprintf(stderr, "invalid bounces\n"); - fprintf(stderr, "Usage: \n"), exit(1); + usage(); } nr_pages = nr_pages_per_cpu * nr_cpus; if (test_type == TEST_HUGETLB) { if (argc < 5) - fprintf(stderr, "Usage: hugetlb \n"), - exit(1); + usage(); huge_fd = open(argv[4], O_CREAT | O_RDWR, 0755); if (huge_fd < 0) { fprintf(stderr, "Open of %s failed", argv[3]); -- 2.17.1