Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp8003549rwb; Wed, 23 Nov 2022 14:01:48 -0800 (PST) X-Google-Smtp-Source: AA0mqf5wf9jNhdlNe8C2HDVM6jHyum/zHYiM+tvjWAIUNRV8WEBqkFiNEwfL1NWzpTwMxqm+ysAH X-Received: by 2002:a17:90b:8d:b0:218:c14b:4e6e with SMTP id bb13-20020a17090b008d00b00218c14b4e6emr13667186pjb.171.1669240908684; Wed, 23 Nov 2022 14:01:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669240908; cv=none; d=google.com; s=arc-20160816; b=ndSQzN0Qn05K5NbcbYOsZMrpa9CsbyPu/pSvsSM7Pa0MdUOERBluQRfSqRHYXjgF7y bCkPQobkAdZsvjoaUaFWjmYUz04QRJ6Odfnb8LiMQiUl5Bqw8q+Riq4JSVWlKQ1oWhQN I06UG4Tlh+Wg/z6PQB+vvTox2ovWqYvRCNovqXrCNIKCj2ydh1tb/jxSb3VzafaTtJda vGNQ0fPOpMidxDAR8ronFkHkMFT1Rnd2InHkDP8IXuKb1lO2EGe9tVzGHJ8zRZPi4dos hJxGwrIIWGaZGxkRGfemO4FA764HBOWEOxF2ecCFGVHECVILqCK9+cD520xKPJYwcd63 flpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=bCvBTJO2gbYZhcCuljQv2b50zZ/3wvAu6KPvZevAXi8=; b=1IPNJB0ng/CcD/OodZ4tBY21MYT9s0orC11SvqDezOyLwa6l31wGDrq5hFipMU8I0S EaPlcv9X/3JS1ESKBoB+gXlRw9kOub7HcDyT/BlLU9DZSrANBzUNjjiS2jSUSGUC9l6Q WZhzR6D5ANXBSE+imD2ymdIb7rvJXgXArgX+jqHwWJJOXhQh12UIzqcpycAYtOGTxh4M VNqFcHL9GwTkZ6bn/nr+IgjeDo5eIH4942u0vDGBL39V1pdQg8tPTfXn7F2B4SPALiPA db9j/POh0trYZLRTsbU6VnWvtCkKnQzbGjIw99cv/k40A3OF1MBl/uOlOgD5n1e+MWaE paQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=QROKYGke; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pf10-20020a17090b1d8a00b00200ad6b1554si3036386pjb.6.2022.11.23.14.01.37; Wed, 23 Nov 2022 14:01:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=QROKYGke; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237042AbiKWViY (ORCPT + 88 others); Wed, 23 Nov 2022 16:38:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236332AbiKWViW (ORCPT ); Wed, 23 Nov 2022 16:38:22 -0500 Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4EF6B2717E; Wed, 23 Nov 2022 13:38:21 -0800 (PST) Received: by mail-ed1-x533.google.com with SMTP id l24so81781edj.8; Wed, 23 Nov 2022 13:38:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=bCvBTJO2gbYZhcCuljQv2b50zZ/3wvAu6KPvZevAXi8=; b=QROKYGkeQv6MtC6IUDzEOTrXB5C9bMSSN1eK8fjYM8gNFcTgfP95pkgnTj2u2Nm+KF pOAVZFdHSG3ARAOBf8UxO4+VwrFOk75tCSJnyT1Gn8pK/cp+5yYg10qYiD+GH86AiMHg hijGs0ksGMwklQwPy6nvcx5z7JzagGNvK+Q1f50/qhwWcxwHOvPJGrgv/MLLtBn2olGd i3vr0FI7WIwCGGdrVepHe/7DcSiWj7GPkaihmo7upqODFBxG+Y42jKU3lGPwq+JGqCmg /TYvCkBgJA8H9LPZ/eDbGQvXlZVZPN0WYRDTIKJPNKqJiHtFhLVkZRdtwXfx1bU3Q/TC 6uGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bCvBTJO2gbYZhcCuljQv2b50zZ/3wvAu6KPvZevAXi8=; b=sZbigb93uP7MeX2ugFcs8ILo4x6EPxxe+31Z4NuAtQj7dd+Dxl/BrI7hQsUk78Sinc jzYmfooV5xJBevEyqdbBzH/KVimW9jlEk1JBREGcqM07+Hb2n/y7WnH1bLH/MlHekLV8 JRHID8pAfGMoqPSQEEtRU4avIL6JHECVpxLzN0xibEdpOur9nKIIVh4jL/TuQVD7NOVV TsdsJ2apxjVLdzcXc1IyFxZvRefYmRG90wvBAYU6ZQedGJRBs8Aib3HLyCCNXk/zaTct Jo9Vn/aXrCXb6h71BL+wdOjmXHNVVxlYAfMTh8BUaSjj37JXGb6x/PcDnVGag3aJkock qKGg== X-Gm-Message-State: ANoB5pmIx8PNtJPA6E4SagP+iB+qPaYYRLrMtxbh7ma/KQLRhtaDz9uJ W1TYLCpGRekbxs72dXsfPw8Q/DKapzlQN5sGvbA= X-Received: by 2002:aa7:d3c9:0:b0:459:aa70:d4b6 with SMTP id o9-20020aa7d3c9000000b00459aa70d4b6mr27419688edr.224.1669239499708; Wed, 23 Nov 2022 13:38:19 -0800 (PST) MIME-Version: 1.0 References: <20221116064631.16224-1-tegongkang@gmail.com> In-Reply-To: From: Andrii Nakryiko Date: Wed, 23 Nov 2022 13:38:07 -0800 Message-ID: Subject: Re: [PATCH] samples, bpf: Add duration option D for sampleip To: Kang Minchul Cc: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , bpf@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Nov 19, 2022 at 8:06 AM Kang Minchul wrote: > > Thanks for your reply. > > 2022=EB=85=84 11=EC=9B=94 18=EC=9D=BC (=EA=B8=88) =EC=98=A4=EC=A0=84 8:26= , Andrii Nakryiko =EB=8B=98=EC=9D=B4 =EC=9E=91= =EC=84=B1: > > > > On Tue, Nov 15, 2022 at 10:46 PM Kang Minchul wr= ote: > > > > > > Although sampleip program can handle three options, > > > (-F for frequency, duration, and -h for help) > > > currently there is no independent option for duration. > > > > Because it's positional argument, which is very clearly documented by > > usage(). What's wrong with that and why do you want to change this? > Yes, but I'm not sure why only 'duration' should be a positional argument= . > > I don't think it is 'wrong', but I think it's better to treat > 'duration' just as same as 'frequency' because > frequency and duration are two independent things in this case. > (duration is not dependent on frequency) > > So I thought making an option for duration like below > > $ sudo ./samples/bpf/sampleip -F -D > > is better than below. > > $ sudo ./samples/bpf/sampleip -F > > I am not insisting strongly on this, so if I have misunderstood something= , > I'll respect the existing way. > I think it's just a common convention (e.g., iostat has the similar approach). Let's keep it as is. > Regards, > > Kang Minchul > > > > > > This patch adds option -D for duration like below: > > > > > > $ sudo ./samples/bpf/sampleip -h > > > USAGE: sampleip [-F freq] [-D duration] > > > -F freq # sample frequency (Hertz), default 99 > > > -D duration # sampling duration (seconds), default 5 > > > > > > $ sudo ./samples/bpf/sampleip -F 120 > > > Sampling at 120 Hertz for 5 seconds. Ctrl-C also ends. > > > ADDR KSYM COUNT > > > ... > > > > > > $ sudo ./samples/bpf/sampleip -D 7 > > > Sampling at 99 Hertz for 7 seconds. Ctrl-C also ends. > > > ADDR KSYM COUNT > > > ... > > > > > > $ sudo ./samples/bpf/sampleip -F 120 -D 7 > > > Sampling at 120 Hertz for 7 seconds. Ctrl-C also ends. > > > ADDR KSYM COUNT > > > ... > > > > > > Signed-off-by: Kang Minchul > > > --- > > > samples/bpf/sampleip_user.c | 13 +++++++------ > > > 1 file changed, 7 insertions(+), 6 deletions(-) > > > > > > diff --git a/samples/bpf/sampleip_user.c b/samples/bpf/sampleip_user.= c > > > index 921c505bb567..ce6aadd496e1 100644 > > > --- a/samples/bpf/sampleip_user.c > > > +++ b/samples/bpf/sampleip_user.c > > > @@ -28,9 +28,9 @@ static int nr_cpus; > > > > > > static void usage(void) > > > { > > > - printf("USAGE: sampleip [-F freq] [duration]\n"); > > > - printf(" -F freq # sample frequency (Hertz), default= 99\n"); > > > - printf(" duration # sampling duration (seconds), defa= ult 5\n"); > > > + printf("USAGE: sampleip [-F freq] [-D duration]\n"); > > > + printf(" -F freq # sample frequency (Hertz), defa= ult 99\n"); > > > + printf(" -D duration # sampling duration (seconds), d= efault 5\n"); > > > } > > > > > > static int sampling_start(int freq, struct bpf_program *prog, > > > @@ -145,19 +145,20 @@ int main(int argc, char **argv) > > > char filename[256]; > > > > > > /* process arguments */ > > > - while ((opt =3D getopt(argc, argv, "F:h")) !=3D -1) { > > > + while ((opt =3D getopt(argc, argv, "F:D:h")) !=3D -1) { > > > switch (opt) { > > > case 'F': > > > freq =3D atoi(optarg); > > > break; > > > + case 'D': > > > + secs =3D atoi(optarg); > > > + break; > > > case 'h': > > > default: > > > usage(); > > > return 0; > > > } > > > } > > > - if (argc - optind =3D=3D 1) > > > - secs =3D atoi(argv[optind]); > > > if (freq =3D=3D 0 || secs =3D=3D 0) { > > > usage(); > > > return 1; > > > -- > > > 2.34.1 > > >