From patchwork Thu Oct 5 15:06:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 821880 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3y7GT62V0fz9sNw for ; Fri, 6 Oct 2017 02:11:54 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 55C7BA92; Thu, 5 Oct 2017 15:06:44 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 6A3FAA92 for ; Thu, 5 Oct 2017 15:06:43 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C68E81AE for ; Thu, 5 Oct 2017 15:06:42 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20171005150640euoutp0210fde656e510493d4bf711e096719c21~qtPeLRAAM3023430234euoutp02N; Thu, 5 Oct 2017 15:06:40 +0000 (GMT) Received: from eusmges4.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20171005150639eucas1p12f167cf71e673eaa1e4e5b2171131176~qtPdHbcnR2252922529eucas1p1d; Thu, 5 Oct 2017 15:06:39 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges4.samsung.com (EUCPMTA) with SMTP id 45.6D.12944.F7A46D95; Thu, 5 Oct 2017 16:06:39 +0100 (BST) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20171005150638eucas1p2601c5e2a6ca6602c78bf3951d446f65b~qtPcbHYZW2867728677eucas1p2-; Thu, 5 Oct 2017 15:06:38 +0000 (GMT) X-AuditID: cbfec7f4-f79ab6d000003290-51-59d64a7f475f Received: from eusync2.samsung.com ( [203.254.199.212]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id D6.12.18832.E7A46D95; Thu, 5 Oct 2017 16:06:38 +0100 (BST) Received: from imaximets.rnd.samsung.ru ([106.109.129.180]) by eusync2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OXC0096ZVA4TQ80@eusync2.samsung.com>; Thu, 05 Oct 2017 16:06:38 +0100 (BST) From: Ilya Maximets To: ovs-dev@openvswitch.org, Bhanuprakash Bodireddy Date: Thu, 05 Oct 2017 18:06:02 +0300 Message-id: <1507215962-17692-8-git-send-email-i.maximets@samsung.com> X-Mailer: git-send-email 2.7.4 In-reply-to: <1507215962-17692-1-git-send-email-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrIIsWRmVeSWpSXmKPExsWy7djP87r1XtciDSadZrdY/YvTYuczZYuW /pnMFs9fLGS2uHPlJ5vFtM+32S2utP9ktzjy/TSjxdpDH9gt5n56zujA5fHr61U2j8V7XjJ5 PLv5n9Hj/T4gt2/LKkaPd/PfsgWwRXHZpKTmZJalFunbJXBlvF1+hKXghljFope7mRoYn/N3 MXJwSAiYSKzcUtrFyAlkiklcuLeerYuRi0NIYCmjRMv0g1DOZ0aJHc07mCCqTCSedi5lB7GF BJYxSjzcLQFR1Mwk8fzLKUaQBJuAjsSp1UfAbBGBCIkH32eBNTALnGSSeDY3FMQWFnCReHTo IDOIzSKgKrHz9R0WEJtXwE3iQmc/K8QyOYmb5zrBajgF3CUu7PjMCLJMQmANm0Tn6XtQRS4S c78eY4SwhSVeHd/CDmHLSHR2HGSCaGhmlGhYdQmqewKjxJfm5VD/2EucunmVCeI8PolJ26Yz QwKGV6KjTQiixENi+7/NUAscJTYfmsEK8fIsRolnH9YzTWCUXsDIsIpRJLW0ODc9tdhErzgx t7g0L10vOT93EyMwok//O/5lB+PiY1aHGAU4GJV4eBkeXIkUYk0sK67MPcQowcGsJMLb6Hot Uog3JbGyKrUoP76oNCe1+BCjNAeLkjivbVRbpJBAemJJanZqakFqEUyWiYNTqoHRI/RCLLP2 3StvGydNOP/+ZJWND9+xQh6n91sSVVeeFFyb0/Fv774LiyXmHDVVtGVgYngVEcG2KK105bEz NitNZXeY2iXcfFeVsi5NMSX+58uZZ+UOGJ56dWir7vGUzxPrFu5XePZEo8Do+YKitSaRLB1h UzcfLvnGMd34YqGWm0dYuvsi+WIWJZbijERDLeai4kQArScLueQCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrGLMWRmVeSWpSXmKPExsVy+t/xK7p1XtciDX5O17JY/YvTYuczZYuW /pnMFs9fLGS2uHPlJ5vFtM+32S2utP9ktzjy/TSjxdpDH9gt5n56zujA5fHr61U2j8V7XjJ5 PLv5n9Hj/T4gt2/LKkaPd/PfsgWwRXHZpKTmZJalFunbJXBlvF1+hKXghljFope7mRoYn/N3 MXJySAiYSDztXMoOYYtJXLi3ng3EFhJYwijROSemi5ELyG5lkljd9ocFJMEmoCNxavURRhBb RCBComXOekaQImaB00wS/YvPs4IkhAVcJB4dOsgMYrMIqErsfH0HrJlXwE3iQmc/K8Q2OYmb 5zrBajgF3CUu7PjMCLHZTWL6ojamCYy8CxgZVjGKpJYW56bnFhvqFSfmFpfmpesl5+duYgSG 3rZjPzfvYLy0MfgQowAHoxIPr8fWq5FCrIllxZW5hxglOJiVRHgbXa9FCvGmJFZWpRblxxeV 5qQWH2KU5mBREuft3bM6UkggPbEkNTs1tSC1CCbLxMEp1cDIcGTxiiqhmZe/bH9ruMfwR8eR 3zfXGmZ/3H1wWvVfc64nuqoPLB43GZk8WSxaXXzwy8lLIT75++puTjr3je2m7OlpKiuOJS33 65m/LHHfnS1mPjdXBZWmeKxUjPX6ulDwUEnx/N2T7+YmXe0tcTiiGLn8YN8hvywJF+7P9jxJ wpM7dr31vVl1SYmlOCPRUIu5qDgRAGd2x5w5AgAA X-CMS-MailID: 20171005150638eucas1p2601c5e2a6ca6602c78bf3951d446f65b X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?utf-8?q?Ilya_Maximets=1BSRR-Virtualization_Lab=1B?= =?utf-8?b?7IK87ISx7KCE7J6QG0xlYWRpbmcgRW5naW5lZXI=?= X-Global-Sender: =?utf-8?q?Ilya_Maximets=1BSRR-Virtualization_Lab=1BSamsu?= =?utf-8?q?ng_Electronics=1BLeading_Engineer?= X-Sender-Code: =?utf-8?q?C10=1BCISHQ=1BC10GD01GD010154?= CMS-TYPE: 201P X-CMS-RootMailID: 20171005150638eucas1p2601c5e2a6ca6602c78bf3951d446f65b X-RootMTR: 20171005150638eucas1p2601c5e2a6ca6602c78bf3951d446f65b References: <1507215962-17692-1-git-send-email-i.maximets@samsung.com> X-Spam-Status: No, score=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD autolearn=disabled version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Heetae Ahn , Ilya Maximets Subject: [ovs-dev] [PATCH v4 7/7] dpif-netdev: Count sent packets and batches. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Signed-off-by: Ilya Maximets Acked-by: Eelco Chaudron --- lib/dpif-netdev.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 3ddb711..1d5321a 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -344,6 +344,8 @@ enum dp_stat_type { DP_STAT_LOST, /* Packets not passed up to the client. */ DP_STAT_LOOKUP_HIT, /* Number of subtable lookups for flow table hits */ + DP_STAT_SENT_PKTS, /* Packets that has been sent. */ + DP_STAT_SENT_BATCHES, /* Number of batches sent. */ DP_N_STATS }; @@ -515,6 +517,9 @@ struct dp_netdev_pmd_cycles { atomic_ullong n[PMD_N_CYCLES]; }; +static void dp_netdev_count_packet(struct dp_netdev_pmd_thread *, + enum dp_stat_type type, int cnt); + struct polled_queue { struct dp_netdev_rxq *rxq; odp_port_t port_no; @@ -832,6 +837,7 @@ pmd_info_show_stats(struct ds *reply, { unsigned long long total_packets; uint64_t total_cycles = 0; + double lookups_per_hit = 0, packets_per_batch = 0; int i; /* These loops subtracts reference values ('*_zero') from the counters. @@ -873,15 +879,23 @@ pmd_info_show_stats(struct ds *reply, } ds_put_cstr(reply, ":\n"); + if (stats[DP_STAT_MASKED_HIT] > 0) { + lookups_per_hit = stats[DP_STAT_LOOKUP_HIT] + / (double) stats[DP_STAT_MASKED_HIT]; + } + if (stats[DP_STAT_SENT_BATCHES] > 0) { + packets_per_batch = stats[DP_STAT_SENT_PKTS] + / (double) stats[DP_STAT_SENT_BATCHES]; + } + ds_put_format(reply, "\temc hits:%llu\n\tmegaflow hits:%llu\n" "\tavg. subtable lookups per hit:%.2f\n" - "\tmiss:%llu\n\tlost:%llu\n", + "\tmiss:%llu\n\tlost:%llu\n" + "\tavg. packets per output batch: %.2f\n", stats[DP_STAT_EXACT_HIT], stats[DP_STAT_MASKED_HIT], - stats[DP_STAT_MASKED_HIT] > 0 - ? (1.0*stats[DP_STAT_LOOKUP_HIT])/stats[DP_STAT_MASKED_HIT] - : 0, - stats[DP_STAT_MISS], stats[DP_STAT_LOST]); + lookups_per_hit, stats[DP_STAT_MISS], stats[DP_STAT_LOST], + packets_per_batch); if (total_cycles == 0) { return; @@ -3288,6 +3302,9 @@ dp_netdev_pmd_flush_output_on_port(struct dp_netdev_pmd_thread *pmd, ovs_assert(pmd->n_output_batches > 0); pmd->n_output_batches--; + + dp_netdev_count_packet(pmd, DP_STAT_SENT_PKTS, output_cnt); + dp_netdev_count_packet(pmd, DP_STAT_SENT_BATCHES, 1); } return output_cnt; }