From patchwork Wed Nov 23 10:26:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robin Jarry X-Patchwork-Id: 120111 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6CC0CA09E5; Wed, 23 Nov 2022 11:26:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 129CB42D7A; Wed, 23 Nov 2022 11:26:33 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 9501240E5A for ; Wed, 23 Nov 2022 11:26:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669199190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uel1mVc1E1h0wpvD34hz778R7CdVUi90Xg2GWdVvfFw=; b=fKrBbM0QDlqNc1xS2U9jhMJdsT8+pxAka+zsvu4ToHhbV2xzu0haGvzsmM/B7lqSDxZO/k 8j3WJA9UnlAz6dBUBE/Y3ssapltWXTn17y2I/LfE+gSTgHBFDWXab4YJgGSnFGvEI+uZpy 76GaglBIvYSxlne53TJYw+J7oOHn9jg= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-550-1XwcwhIHNS6X4cou9FizOQ-1; Wed, 23 Nov 2022 05:26:27 -0500 X-MC-Unique: 1XwcwhIHNS6X4cou9FizOQ-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1011A29DD99C; Wed, 23 Nov 2022 10:26:27 +0000 (UTC) Received: from paul.home (unknown [10.39.208.15]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3C20A40C83BB; Wed, 23 Nov 2022 10:26:25 +0000 (UTC) From: Robin Jarry To: dev@dpdk.org Cc: Bruce Richardson , Jerin Jacob , Kevin Laatz , Konstantin Ananyev , =?utf-8?q?Mattias_R?= =?utf-8?q?=C3=B6nnblom?= , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Robin Jarry Subject: [RFC PATCH 0/4] lcore telemetry improvements Date: Wed, 23 Nov 2022 11:26:08 +0100 Message-Id: <20221123102612.1688865-1-rjarry@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This is a follow up on previous work by Kevin Laatz: http://patches.dpdk.org/project/dpdk/list/?series=24658&state=* This is a much more basic and naive approach which leaves the busy cycles percentage completely up to the application. This series is aimed at allowing DPDK applications to expose their CPU busy cycles ratio in the DPDK telemetry under /eal/lcore/info. I have left it as RFC since calculating busy cycles can be a controversial topic. For reference, I have implemented a draft patch in OvS to use rte_lcore_register_busy_percent_cb() and report the already available busy cycles information. https://github.com/rjarry/ovs/commit/4286c0e75583075a223a67eee746084a2f3b0547 Robin Jarry (4): eal: add lcore info in telemetry eal: allow applications to report their cpu utilization testpmd: add show lcores command testpmd: report lcore usage app/test-pmd/5tswap.c | 5 +- app/test-pmd/cmdline.c | 31 ++++++++ app/test-pmd/csumonly.c | 6 +- app/test-pmd/flowgen.c | 2 +- app/test-pmd/icmpecho.c | 6 +- app/test-pmd/iofwd.c | 5 +- app/test-pmd/macfwd.c | 5 +- app/test-pmd/macswap.c | 5 +- app/test-pmd/noisy_vnf.c | 4 + app/test-pmd/rxonly.c | 5 +- app/test-pmd/shared_rxq_fwd.c | 5 +- app/test-pmd/testpmd.c | 69 +++++++++++++++- app/test-pmd/testpmd.h | 25 +++++- app/test-pmd/txonly.c | 7 +- lib/eal/common/eal_common_lcore.c | 127 +++++++++++++++++++++++++++++- lib/eal/include/rte_lcore.h | 30 +++++++ lib/eal/version.map | 1 + 17 files changed, 306 insertions(+), 32 deletions(-)