From: Jason Wang <jasowang@redhat.com>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Cc: David Miller <davem@davemloft.net>,
Network Development <netdev@vger.kernel.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Willem de Bruijn <willemb@google.com>
Subject: Re: [PATCH RFC 0/3] tun zerocopy stats
Date: Thu, 12 Oct 2017 19:21:12 +0800 [thread overview]
Message-ID: <c86cc1a3-468f-3fa6-c8fc-ce85cc7f2e61@redhat.com> (raw)
In-Reply-To: <CAF=yD-++Vn6UbDm5q7_wpwx90Wt-Yia+g4ju_cJ+rX34tt7JPw@mail.gmail.com>
On 2017年10月12日 05:44, Willem de Bruijn wrote:
> On Tue, Oct 10, 2017 at 11:15 PM, Jason Wang <jasowang@redhat.com> wrote:
>>
>> On 2017年10月11日 03:11, Willem de Bruijn wrote:
>>> On Tue, Oct 10, 2017 at 1:39 PM, David Miller <davem@davemloft.net> wrote:
>>>> From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
>>>> Date: Tue, 10 Oct 2017 11:29:33 -0400
>>>>
>>>>> If there is a way to expose these stats through vhost_net directly,
>>>>> instead of through tun, that may be better. But I did not see a
>>>>> suitable interface. Perhaps debugfs.
>>>> Please don't use debugfs, thank you :-)
>>> Okay. I'll take a look at tracing for on-demand measurement.
>>
>> This reminds me a past series that adding tracepoints to vhost/net[1]. It
>> can count zero/datacopy independently and even contains a sample program to
>> show the stats.
> Interesting, thanks!
>
> For occasional evaluation, we can also use a bpf kprobe for the time being:
>
> bpf_program = """
> #include <uapi/linux/ptrace.h>
> #include <bcc/proto.h>
>
> BPF_ARRAY(count, u64, 2);
>
> void inc_counter(struct pt_regs *ctx) {
> bool success;
> int key;
> u64 *val;
>
> success = PT_REGS_PARM2(ctx);
> key = success ? 0 : 1;
> val = count.lookup(&key);
> if (val)
> lock_xadd(val, 1);
> }
> """
>
> b = bcc.BPF(text=bpf_program)
> b.attach_kprobe(event="vhost_zerocopy_callback", fn_name="inc_counter")
>
> time.sleep(5)
>
> print("vhost_zerocopy_callback: Y:%d N:%d" %
> (b["count"][ctypes.c_int(0)].value,
> b["count"][ctypes.c_int(1)].value))
Thanks for the tips, looks flexible.
prev parent reply other threads:[~2017-10-12 11:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 22:25 [PATCH RFC 0/3] tun zerocopy stats Willem de Bruijn
2017-10-06 22:25 ` [PATCH RFC 1/3] tun: ethtool stats Willem de Bruijn
2017-10-06 22:30 ` Stephen Hemminger
2017-10-06 22:37 ` Willem de Bruijn
2017-10-06 23:12 ` Stephen Hemminger
2017-10-06 23:26 ` David Miller
2017-10-06 22:25 ` [PATCH RFC 2/3] tun: expand ethtool stats with zerocopy Willem de Bruijn
2017-10-06 22:32 ` Willem de Bruijn
2017-10-06 22:25 ` [PATCH RFC 3/3] vhost_net: support tun zerocopy stats Willem de Bruijn
2017-10-10 3:52 ` [PATCH RFC 0/3] " David Miller
2017-10-10 15:29 ` Willem de Bruijn
2017-10-10 17:23 ` Stephen Hemminger
2017-10-10 17:39 ` David Miller
2017-10-10 19:11 ` Willem de Bruijn
2017-10-11 3:15 ` Jason Wang
2017-10-11 21:44 ` Willem de Bruijn
2017-10-12 11:21 ` Jason Wang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c86cc1a3-468f-3fa6-c8fc-ce85cc7f2e61@redhat.com \
--to=jasowang@redhat.com \
--cc=davem@davemloft.net \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=willemb@google.com \
--cc=willemdebruijn.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).