From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0081243354; Fri, 17 Nov 2023 14:18:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B7ED840ED1; Fri, 17 Nov 2023 14:18:39 +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 A2C1C40648 for ; Fri, 17 Nov 2023 14:18:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1700227118; 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=ejdJVGFd2Yo8zd7FxsR95jz369X1XEXAIoK1GqKaGos=; b=D05ucExsDpkm1n7mXnJIj6Z6E1BsWsJyA27UC2fUCQt77ciHEzw9JpKnGzjxid0sbV+ClT vtJMGc4HElpA0wqKd6JMEAVh57fxV2tIQtL2TxMO4zyA7zEs4mR+wo4U4KwdOoL3ukUim7 aFus0bqxdA4nPfKc4DbGw3TgxF0M+oo= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-58-_pFRmqsgM9mVBzKZtT6RjA-1; Fri, 17 Nov 2023 08:18:34 -0500 X-MC-Unique: _pFRmqsgM9mVBzKZtT6RjA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 60926101A52D; Fri, 17 Nov 2023 13:18:34 +0000 (UTC) Received: from dmarchan.redhat.com (unknown [10.45.226.112]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3D1001121306; Fri, 17 Nov 2023 13:18:33 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: thomas@monjalon.net, ferruh.yigit@amd.com, bruce.richardson@intel.com, stephen@networkplumber.org Subject: [RFC 0/3] Detect superfluous newline in logs Date: Fri, 17 Nov 2023 14:18:21 +0100 Message-ID: <20231117131824.1977792-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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 Getting readable and consistent logs is important when running a DPDK application, especially when troubleshooting. A common issue with logs is when a DPDK change do not add (or on the contrary add too many \n) in the format string. This issue would only get noticed when actually hitting this log (which may be something difficult to do). This series proposes to introduce a new RTE_LOG helper that is responsible for logging a one line message and spews a build error (with gcc) if any \n is part of the format string. Note: - the first patch is intentionnally sent as a single block: splitting it into per library commits with correct Fixes: tags is a tedious work. I would split it for a non RFC series. For now, it is enough to show case the idea. - the last patch shows how an existing log macro is converted, -- David Marchand David Marchand (3): lib: remove redundant newline from logs log: add a per line log helper lib: use per line logging drivers/crypto/ipsec_mb/ipsec_mb_ops.c | 2 +- lib/bbdev/rte_bbdev.c | 9 +- lib/cfgfile/rte_cfgfile.c | 18 ++-- lib/compressdev/rte_compressdev_internal.h | 5 +- lib/compressdev/rte_compressdev_pmd.c | 4 +- lib/cryptodev/rte_cryptodev.c | 5 +- lib/cryptodev/rte_cryptodev.h | 16 ++-- lib/dispatcher/rte_dispatcher.c | 12 +-- lib/dmadev/rte_dmadev.c | 8 +- lib/eventdev/eventdev_pmd.h | 14 +-- lib/eventdev/rte_event_crypto_adapter.c | 12 +-- lib/eventdev/rte_event_dma_adapter.c | 18 ++-- lib/eventdev/rte_event_eth_rx_adapter.c | 30 +++--- lib/eventdev/rte_event_eth_tx_adapter.c | 2 +- lib/eventdev/rte_event_timer_adapter.c | 21 +++-- lib/eventdev/rte_eventdev.c | 10 +- lib/gpudev/gpudev.c | 6 +- lib/graph/graph_private.h | 5 +- lib/log/rte_log.h | 21 +++++ lib/metrics/rte_metrics_telemetry.c | 6 +- lib/mldev/rte_mldev.c | 102 ++++++++++----------- lib/mldev/rte_mldev.h | 5 +- lib/net/rte_net_crc.c | 14 +-- lib/node/ethdev_rx.c | 4 +- lib/node/ip4_lookup.c | 2 +- lib/node/ip6_lookup.c | 2 +- lib/node/kernel_rx.c | 8 +- lib/node/kernel_tx.c | 4 +- lib/node/node_private.h | 6 +- lib/rawdev/rte_rawdev_pmd.h | 4 +- lib/rcu/rte_rcu_qsbr.c | 4 +- lib/rcu/rte_rcu_qsbr.h | 17 ++-- lib/stack/rte_stack.c | 8 +- lib/stack/stack_pvt.h | 4 +- 34 files changed, 220 insertions(+), 188 deletions(-) -- 2.41.0