From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Fastabend Subject: Re: [bpf-next PATCH v2 5/7] bpf: sockmap sample add base test without any BPF for comparison Date: Thu, 11 Jan 2018 20:03:37 -0800 Message-ID: References: <20180110183600.5930.68261.stgit@john-Precision-Tower-5810> <20180110184011.5930.30406.stgit@john-Precision-Tower-5810> <20180111211005.c6gb5ktuc4gupibl@kafai-mbp.dhcp.thefacebook.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: borkmann@iogearbox.net, ast@kernel.org, netdev@vger.kernel.org To: Martin KaFai Lau Return-path: Received: from mail-pg0-f68.google.com ([74.125.83.68]:42847 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932860AbeALEDs (ORCPT ); Thu, 11 Jan 2018 23:03:48 -0500 Received: by mail-pg0-f68.google.com with SMTP id q67so3760654pga.9 for ; Thu, 11 Jan 2018 20:03:48 -0800 (PST) In-Reply-To: <20180111211005.c6gb5ktuc4gupibl@kafai-mbp.dhcp.thefacebook.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 01/11/2018 01:10 PM, Martin KaFai Lau wrote: > On Wed, Jan 10, 2018 at 10:40:11AM -0800, John Fastabend wrote: >> Add a base test that does not use BPF hooks to test baseline case. >> >> Signed-off-by: John Fastabend >> --- >> samples/sockmap/sockmap_user.c | 26 +++++++++++++++++++++----- >> 1 file changed, 21 insertions(+), 5 deletions(-) >> >> diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c >> index 812fc7e..eb19d14 100644 >> --- a/samples/sockmap/sockmap_user.c >> +++ b/samples/sockmap/sockmap_user.c >> @@ -285,18 +285,24 @@ static int msg_loop(int fd, int iov_count, int iov_length, int cnt, >> >> static float giga = 1000000000; >> >> -static int sendmsg_test(int iov_count, int iov_buf, int cnt, int verbose) >> +static int sendmsg_test(int iov_count, int iov_buf, int cnt, >> + int verbose, bool base) >> { >> - int txpid, rxpid, err = 0; >> + float sent_Bps = 0, recvd_Bps = 0; >> + int rx_fd, txpid, rxpid, err = 0; >> struct msg_stats s = {0}; >> int status; >> - float sent_Bps = 0, recvd_Bps = 0; >> >> errno = 0; >> >> + if (base) >> + rx_fd = p1; >> + else >> + rx_fd = p2; >> + >> rxpid = fork(); >> if (rxpid == 0) { >> - err = msg_loop(p2, iov_count, iov_buf, cnt, &s, false); >> + err = msg_loop(rx_fd, iov_count, iov_buf, cnt, &s, false); > I am likely missing something. After receiving from p1, should the > base-line case also send to c2 which then will be received by p2? > Well I wanted a test to check socket to socket rates and see what max throughput we could get with this simple tool. It provides a good reference point for any other 'perf' data, throughput numbers, etc. The numbers I see here, probably as expected, are very close to what I get with iperf tests. Adding another test base_bounce or base_proxy or something along those lines might be another test we can add. I think you were expecting this to be a 1:1 comparison with the sendmsg BPF test but its not. Probably can add it though. Thanks, John