Received: by 10.213.65.68 with SMTP id h4csp3707397imn; Tue, 10 Apr 2018 03:30:03 -0700 (PDT) X-Google-Smtp-Source: AIpwx48pGVXcGyyb+r/BvR4+LqzKtCurKalLIcVW1NPNi4AnXmvMbiGT9vIuQ7eUzZqQIQpfl6NY X-Received: by 2002:a17:902:6b49:: with SMTP id g9-v6mr43212313plt.75.1523356203761; Tue, 10 Apr 2018 03:30:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523356203; cv=none; d=google.com; s=arc-20160816; b=TBcFl9E/3qTeyyEs6hOeffZY7i8ulQbTwPXRIidLi5twqaCYgm4Ts60e1jyrHv15K4 9qXowFdJmQykMH4hjYu7tKcMgnDsQ7MW2UqV9Dm0GTxJQj9x07YN9GAXkw76A3v9mL+y O9CN8PUL7YyWianc3BcRLvk+MwZai5xS/hAjXgNoCKAvLtygVZGqlEnZhkBpSSEWF9ey 0NS6crJcpTe6tZ7bsBcTUs906XEdV1MZrSTezdSHYel0GebuRaORJqtn5w9ehSQJz7VI VrulwgEIcc1/MKu9MCvZUbJk9g0BhJHVfZvY5SORPzhYKedR8Ivmd1vcKhH2JWmFwK0b OQFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=+uaBayKF8gDQlVuRfRKVu9LupmOv7cy+Akp6Nh4YQj8=; b=JikJM4Fh7VB4txg3jU25cCx94rFwmVixxLxN5q/z1fTqSLmGGlDynat6Y+XAY9F5IP AxF4TXX6x+B8ucoP/QOaw5oqdZ7K0khvXNaZ+fqH99bNIJc7pA/G3FKYPJRFi1V8WIbx 0c5c6WDN2E6bCj8R6pAWQCzG70jxtHQ1wtekwib6eyyV+/eEor4BH+Fn8Vvfaw4rtGTE ybf78AKdEEBlqpn3KV3vAhey2EhjOB120QlnPWbvDq+iuJb7h/hGQ+GHofOW7n1EEzg8 lFRwQqFn6XA0qGTGkE191LoB0xcGEqPre14MgJ7kD+hzuIz9bmbahJnS7ecUNBytaVxS HtJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=l1gNSfon; 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 d4-v6si2452174pln.721.2018.04.10.03.29.26; Tue, 10 Apr 2018 03:30:03 -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; dkim=fail header.i=@gmail.com header.s=20161025 header.b=l1gNSfon; 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 S1752706AbeDJKWT (ORCPT + 99 others); Tue, 10 Apr 2018 06:22:19 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:35999 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752265AbeDJKWS (ORCPT ); Tue, 10 Apr 2018 06:22:18 -0400 Received: by mail-oi0-f68.google.com with SMTP id t16-v6so10631969oih.3; Tue, 10 Apr 2018 03:22:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=+uaBayKF8gDQlVuRfRKVu9LupmOv7cy+Akp6Nh4YQj8=; b=l1gNSfonopRUjE/NVuYqDRSkvKj9/BzEyRPtkDwPRlGh/xGBUHxXkicv/renrfW2eI qdCBiZtlvwXu1OJKYGUYNrXkfdJNuTTY3n9i70HAfvpOAQMK7kSLPLdratuD0NsLk4zx B0G8ZOiGY3CCldHED1I+1ITaEIKQVCjqQsD1vpUIfFuVcNh2OVKU9k49TucB2aNHppvA zzJ1ksJnAx4rRM+zLL2XYZDI9hQVrmRAApOui3XQnOp1B4tLykwfwydCaGN4gNChRsob terduDa9sSWANOFyDTYuRaPc95/P6qxbQVG2nI77oSwFkTAVtvqdrpFtYwmTj0O+4r43 7Uuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=+uaBayKF8gDQlVuRfRKVu9LupmOv7cy+Akp6Nh4YQj8=; b=Gc8Az4huZNdUAfmsO3qTHZJ35l819acFxe6uKt0VqeGeCcdIvaYtRD73uEcqmHiQPC 9eqmi9DtS1ct5hBmcYjLrFoqGvkXjc0DUFuf/fQK9zrHny0V7ZLrnQ1sLc3dt+kOFRj6 jQgsNGVq//1AwwNL7YgpEz+23ypIN/A3bBW8Ar6lM+1Qz6sAZn7CIV5XsUf9ricVQakx 2R9EZysxnLwxQhRcE3kTWluTfRzr8ddx0Cbj4qtCQrR29I9ZfPEpm8Pmzhh/SwY+CGAA gGnqjTjCYRXpIzuRfNLwGuTxMxwVrB+v2BsmPMO6Stj8l0ds3FXxMUjElvD/7tg+YSKK xemg== X-Gm-Message-State: ALQs6tB5LyoBaK23Ak8BadGFKB4HbQoZx4+LdmwIGxr4x0qnpBLc7opP NZ0QNwiNEWQjbWjSzxhMYU60tMvohnriAh3W+50= X-Received: by 2002:aca:5cd7:: with SMTP id q206-v6mr1449967oib.154.1523355737313; Tue, 10 Apr 2018 03:22:17 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:9f7:0:0:0:0:0 with HTTP; Tue, 10 Apr 2018 03:22:16 -0700 (PDT) In-Reply-To: <20180410101831.28530-1-yu.c.chen@intel.com> References: <20180410101831.28530-1-yu.c.chen@intel.com> From: "Rafael J. Wysocki" Date: Tue, 10 Apr 2018 12:22:16 +0200 X-Google-Sender-Auth: _3gIZ66sUAEKZQ4olAGt3Q52OU0 Message-ID: Subject: Re: [PATCH][RFC] tools/power turbostat: if --max_loop, print for specific time of loops To: Yu Chen Cc: Len Brown , "Rafael J . Wysocki" , Artem Bityutskiy , Linux PM , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 10, 2018 at 12:18 PM, Yu Chen wrote: > From: Chen Yu > > There's a use case during test to only print specific round of loops > if --interval is specified, for example, with this patch applied: > > turbostat -i 5 --max_loops 4 > will capture 4 samples with 5 seconds interval. Why --max_loops and not just --loops or --iterations? > Signed-off-by: Chen Yu > --- > tools/power/x86/turbostat/turbostat.c | 19 ++++++++++++++++++- > 1 file changed, 18 insertions(+), 1 deletion(-) > > diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c > index bd9c6b31a504..a35418a59468 100644 > --- a/tools/power/x86/turbostat/turbostat.c > +++ b/tools/power/x86/turbostat/turbostat.c > @@ -48,6 +48,7 @@ char *proc_stat = "/proc/stat"; > FILE *outf; > int *fd_percpu; > struct timespec interval_ts = {5, 0}; > +unsigned int max_loops; > unsigned int debug; > unsigned int quiet; > unsigned int sums_need_wide_columns; > @@ -470,6 +471,7 @@ void help(void) > " {core | package | j,k,l..m,n-p }\n" > "--quiet skip decoding system configuration header\n" > "--interval sec Override default 5-second measurement interval\n" > + "--max_loops times The number of loops if interval is specified\n" > "--help print this help message\n" > "--list list column headers only\n" > "--out file create or truncate \"file\" for all output\n" > @@ -2565,6 +2567,7 @@ void turbostat_loop() > { > int retval; > int restarted = 0; > + int loops = 0; > > restart: > restarted++; > @@ -2583,6 +2586,7 @@ void turbostat_loop() > restarted = 0; > gettimeofday(&tv_even, (struct timezone *)NULL); > > + loops = 0; > while (1) { > if (for_all_proc_cpus(cpu_is_not_present)) { > re_initialize(); > @@ -2626,6 +2630,9 @@ void turbostat_loop() > compute_average(ODD_COUNTERS); > format_all_counters(ODD_COUNTERS); > flush_output_stdout(); > + > + if (++loops >= (max_loops/2)) > + break; > } > } > > @@ -5009,12 +5016,13 @@ void cmdline(int argc, char **argv) > {"Summary", no_argument, 0, 'S'}, > {"TCC", required_argument, 0, 'T'}, > {"version", no_argument, 0, 'v' }, > + {"max_loops", required_argument, 0, 'x'}, > {0, 0, 0, 0 } > }; > > progname = argv[0]; > > - while ((opt = getopt_long_only(argc, argv, "+C:c:Ddhi:JM:m:o:qST:v", > + while ((opt = getopt_long_only(argc, argv, "+C:c:Ddhi:JM:m:o:qST:vx:", > long_options, &option_index)) != -1) { > switch (opt) { > case 'a': > @@ -5076,6 +5084,15 @@ void cmdline(int argc, char **argv) > print_version(); > exit(0); > break; > + case 'x': > + { > + unsigned int loops = strtod(optarg, NULL); > + > + if (loops % 2) > + loops++; > + max_loops = loops; > + } > + break; > } > } > } > -- > 2.13.6 >