From patchwork Sat Sep 29 08:43:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 10620681 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B31B06CB for ; Sat, 29 Sep 2018 08:43:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A6BC729630 for ; Sat, 29 Sep 2018 08:43:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9AB3629734; Sat, 29 Sep 2018 08:43:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9080429630 for ; Sat, 29 Sep 2018 08:43:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 91FDA8E0003; Sat, 29 Sep 2018 04:43:26 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 8CC798E0001; Sat, 29 Sep 2018 04:43:26 -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 7966A8E0003; Sat, 29 Sep 2018 04:43:26 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by kanga.kvack.org (Postfix) with ESMTP id 4AEA98E0001 for ; Sat, 29 Sep 2018 04:43:26 -0400 (EDT) Received: by mail-qt1-f197.google.com with SMTP id p52-v6so8099545qtf.9 for ; Sat, 29 Sep 2018 01:43:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=jr2FkhdpO4Zy0gr3lTuVC3vLaaL0bHiEHlC2dEEztIs=; b=sLPtn28dwqWx+Q4O5uqRDtwQ0DGRHUoT2z2Qtl1zjcKVX23zHDZeFzHgaX1Tw+FpBS UIG8NDBbltriQOW2bCr6S3KVK7JH6ih1O7nYxZ7ymKoLEQh9+taR9By6SkT7qF80bGvn CYQIxMAqMYk8yucKlPRlOyDG2K4ujPzNhdw13BmsHT4gkap4Idtz4eFxKP7UNqtJ/EEq cCnppfmghwWqJXPgc4ficW5HAjrXtvn4di5JzkSIY46O/OewWvCJ7TjgLD/u9O0/W7Bx GpLrUhoCTu0CrpFpzRWQFjyAR1Phfr/uWBFKqmtKOYyXWavG295UbDBG9o5qVDIxjKR+ aUHw== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of peterx@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com X-Gm-Message-State: ABuFfoiE8JyBQpEhPmO0pHK8J+nSNvn5CdcFzeRwm3+ZaPq9UtGm3GR5 TR6mQD3gLNJUze6aTSu7Zu5DU5gu309i6SEA9DEf2UOaO33qjikbZ6a2ODKqwl2uMXzDZPqEQeN qxKSASSq9QWhSC+hnLc9iGj7U/PuFaIoMsHPDCHKEjizb/asFxEFeuFczV3Jq7R7VzQ== X-Received: by 2002:a0c:f988:: with SMTP id t8-v6mr1730646qvn.72.1538210606062; Sat, 29 Sep 2018 01:43:26 -0700 (PDT) X-Google-Smtp-Source: ACcGV60qfdu9VSajL4OSlp03nuthQ326EwCj4LCI1KXlinSeS4V509PLyMVLt0cPQ62w1/KFgrSz X-Received: by 2002:a0c:f988:: with SMTP id t8-v6mr1730621qvn.72.1538210605421; Sat, 29 Sep 2018 01:43:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538210605; cv=none; d=google.com; s=arc-20160816; b=ITO6pieApnYi5cxRcGmKiumUbc3YS2X8w6WpIdvoN3P7cncdNNJkmOX5PrQbTwvdg+ 51jBAUnbOzDDdJNc5AbPUBiYBruv+Ssk/PDoGFCYtJ1tVowZPfi4GY/eeGK4r03o9l5h Pwq1k/ck/HfukpVfHVARcANzdF7UEbFiOWPZP6eamrHAVyTrLqRs5POVNUOW6i6nQWxD eJqQ7Ko7uD2hztkgo4Jg2FKQfPRuxflKCuf9m8J6zQWRHStPdlxV/FjJNEqZY7n6iRhJ mQy2RiWJLTDF9g2XvK9Y98Vv+YZui9T2J2XhT1wz1OSrUh6M+ZvMtUsIQhGyRCkH1S7b Byxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=jr2FkhdpO4Zy0gr3lTuVC3vLaaL0bHiEHlC2dEEztIs=; b=XkKuh/ofH/w6rsKNAMYoAJtqksjNq86gCEfvYofzoTm1pe//ajVTuy6VGQNGGO6ijB TVtAe6qAN5cgFCuO09pHziBgqoblNQFGB6UzD9EN/3qx1u6CsCR7/TaRR29F9+tWP6XE OUpc8sWETf3Kx9OmeCy53gcUAG1V3Yqo3qWlCQOoXXfaByLn6a83eAWG0SkSrSFQutbF Y7ZEcBrOd5eC5ywGzJ3us9Mxgq8x7OP05oCRR2HXdZkVuAokwJGMiWYbzyq7PiAuUYjt F2Trf5+vDGBtpWK4x/jZqgdfC0Dkg2qAoNOL8ECq0w5iJWD9mm5uEpJMJovgW0tGEgdG 8G/g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of peterx@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from mx1.redhat.com (mx1.redhat.com. [209.132.183.28]) by mx.google.com with ESMTPS id s18-v6si548103qke.161.2018.09.29.01.43.25 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 29 Sep 2018 01:43:25 -0700 (PDT) Received-SPF: pass (google.com: domain of peterx@redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; Authentication-Results: mx.google.com; spf=pass (google.com: domain of peterx@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7B9D4308338E; Sat, 29 Sep 2018 08:43:24 +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 299B3106A790; Sat, 29 Sep 2018 08:43:19 +0000 (UTC) From: Peter Xu To: linux-kernel@vger.kernel.org Cc: Shuah Khan , Jerome Glisse , Mike Rapoport , Mike Kravetz , 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 1/3] userfaultfd: selftest: cleanup help messages Date: Sat, 29 Sep 2018 16:43:09 +0800 Message-Id: <20180929084311.15600-2-peterx@redhat.com> In-Reply-To: <20180929084311.15600-1-peterx@redhat.com> References: <20180929084311.15600-1-peterx@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Sat, 29 Sep 2018 08:43:24 +0000 (UTC) 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: X-Virus-Scanned: ClamAV using ClamSMTP 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. Signed-off-by: Peter Xu Acked-by: Mike Rapoport --- tools/testing/selftests/vm/userfaultfd.c | 44 ++++++++++++++---------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c index 7b8171e3128a..2a84adaf8cf8 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,28 @@ pthread_attr_t attr; ~(unsigned long)(sizeof(unsigned long long) \ - 1))) +const char *examples = + "# 100MiB 99999 bounces\n" + "./userfaultfd anon 100 99999\n" + "\n" + "# 1GiB 99 bounces\n" + "./userfaultfd anon 1000 99\n" + "\n" + "# 10MiB-~6GiB 999 bounces, 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 +1282,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 +1295,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]);