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 B9CE3A0543 for ; Tue, 21 Jun 2022 10:08:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B51B94281C; Tue, 21 Jun 2022 10:08:07 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2063.outbound.protection.outlook.com [40.107.223.63]) by mails.dpdk.org (Postfix) with ESMTP id B8DDD40151 for ; Tue, 21 Jun 2022 10:08:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KzQ/4glOaokHNgwqjEPqal24pGkxVYhu+Da0rmZl7giOavE7P1S1Ps/FTi0HHAYq1MievU43GcycPMzm7Rg2Vq0leVBRanesGFYM/YOoxSF9EgBQkwOJdwNxXB2IK7zKaoBPHg6oCy/5a1ZpxqL1f5aPrYuV1rYd/CeKQqCREwFxAXLkLpmBg+ZgZBvWN+2s7SM3Orr6lCVVbJi2EjVGIBaQJgLCPzEbl4Xf5gek3/8rwc652zcpK898enVIZa1710cj7S4L+7Dr9D8mEsrdWFSLUpYPhEgW3RoYy97WwqxxHJyKAMtcjcjV6II6J0TVDsJny+O+9PYZReaWgaXVUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E/Xfzchrx8xRw5hqFd3P+YRJjbf/KcEX01aPKgtSWjY=; b=nx/4CRnXQbeWgtqDPSBxXboI8gnDvq9s9inoWKDuCkmdAIBaseQIJfgP2J6cMAJ1ICEYBuBUv5bd6RB2ugx5Yy1c5xmrFVB35rR9KyAYOR+eLJsgR/rntxzxmi+Qlnq+tOpwEK0TOv4R8iaw+kTLQcdn4w/dOqOaNcC0j8aesxRDb0GNRiYjhXudooWgCI/W0C55TOP93uJEiY8jJbj7yecD9sp6C86AJ19DXCWab7p3X8+Iq/eOnlnknNcc6WZPg9YK4iMvaBYtpN287EVi4r6mBDaTRb+5ELFuJDyyROgDZeE7P5gbmNbNVbFWxDfWeJVzq1kazTNEpNDf5R/PjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.236) smtp.rcpttodomain=yandex.ru smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E/Xfzchrx8xRw5hqFd3P+YRJjbf/KcEX01aPKgtSWjY=; b=pzYlCMdn89qEhkpHxIZs16DoDzlOdO4tPVyeWr+nnBL/dbhVq0YoffqbIRCIMslRaLaRN3MRB5jw3l//GNNlUl7rIgXRW97r7U8vIBFw9Tbh+FwCKBn3CTqp2lj8kTPZ2Tu67+YCMzz3rAXb9N5Xz8cbW7A4NdJfKSyi5B1/2M04ApF3bFPCrdueaHLGzPYYlGFjRpElWnuSHRd/OLj9e1ZgnNNi1MuMVjiiHoCviKkyqhJf+qz47jRmLyhpO3GTRrHfDeknAGYbKIvaRUsyW3Vsnhd0ApO42CR1WEQ9EZYkIGqeQxomyxo0yfjsvUt6H8n3diDR4QXez3dmoqNA6w== Received: from DM3PR12CA0102.namprd12.prod.outlook.com (2603:10b6:0:55::22) by DM5PR12MB2376.namprd12.prod.outlook.com (2603:10b6:4:b9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.15; Tue, 21 Jun 2022 08:08:03 +0000 Received: from DM6NAM11FT038.eop-nam11.prod.protection.outlook.com (2603:10b6:0:55:cafe::91) by DM3PR12CA0102.outlook.office365.com (2603:10b6:0:55::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.14 via Frontend Transport; Tue, 21 Jun 2022 08:08:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.236) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.236 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.236; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.236) by DM6NAM11FT038.mail.protection.outlook.com (10.13.173.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5353.14 via Frontend Transport; Tue, 21 Jun 2022 08:08:03 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Tue, 21 Jun 2022 08:08:02 +0000 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 21 Jun 2022 01:08:00 -0700 From: Xueming Li To: Stanislaw Kardach CC: Bruce Richardson , Honnappa Nagarahalli , Konstantin Ananyev , dpdk stable Subject: patch 'test/ring: remove excessive inlining' has been queued to stable release 20.11.6 Date: Tue, 21 Jun 2022 11:02:01 +0300 Message-ID: <20220621080301.2315720-56-xuemingl@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220621080301.2315720-1-xuemingl@nvidia.com> References: <20220621080301.2315720-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c46d247e-45e7-4fb1-492e-08da535d2a5e X-MS-TrafficTypeDiagnostic: DM5PR12MB2376:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BPVzU6tPANM/eBtGOje7kN7o/kMGQsxv/EBYKxfN8Sm/PO4hCgtw5onxlNPsmbfdeOLXIK928p+VAsFG6UeSwTeuhvjVDOFPONo905zc/nlq1HBDWGhNjcUekSNGrZGbVQoiLk+oJh8+ioKHKRmX8WAWd9X2SCN+GyKwAgbRqDqLszhSVPVfFSWKoeiCbdlp2BXX+efR4HtKAMwcKBYf8NLi0k+pmvl56KqWQDqm/mXlOIoBiU0BX8XPrRl6Ckqqzvh8cglr/ND1OWPhIIWCJdQvOMG7nKfeIa9xuezUjGc5o5SQ3ylOyHCaQJ3Zcer+Vyf3bCxn5D9ZLHVu0FKDz3b6Tb3/jU2rgaqCPVNl6nc5dZuTxcap6MrxSB2UgwkLBoa9FShdEuyHmcNcT+/imzKDwg4UeEH/J6Jy4t3FPN4c+YetBjX//Z2ApqPE0vGzrbK0iEptkyKPEwe3rc8ZZZhp3Ox0JJo7vPoO3uvU4W5TQO71zNWkWcv87e7pGUbOS4LbAVM/uiG8l7Ok/40N+HfCndfAlScG/gvWu0Vb6iTrQWIKfqWFsusdjVVQCAhMY5ag6JsoFDAm0vxskpydwwXK6Ty8TJGXLizvzYBk1R/gCOfMa2Tr30sUAv5TQd/pFZE3jx8xe0IcuR5OFRG3fxdONnZmF6nn4WbISoDK7+l5EqX0xn3pdWrc5Kf4AIkU4SmvTVmXCKmUw21ijLmw/PU6IiROh4NSBONKl+FbFWp7FGuwocCnZLyeFA/MVZw61QLjZny3aP6ZlM+TPSu2JNjFfR4jl7lxb8XMMNJQkvZjlz0G8AT+Pbwoi3JWmw6hgVUshN9sYNCsAGR36OYsLMpEC8uCvAa3Gz5e7lSWQPhEdgt2tIFy5dS3R7oc2V7C/xPtOo6rWf4jyPEX8XryjQ== X-Forefront-Antispam-Report: CIP:12.22.5.236; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230016)(4636009)(136003)(376002)(396003)(346002)(39860400002)(46966006)(36840700001)(40470700004)(478600001)(55016003)(36756003)(41300700001)(316002)(2616005)(966005)(82310400005)(53546011)(8936002)(8676002)(6916009)(7696005)(54906003)(26005)(2906002)(82740400003)(426003)(4326008)(186003)(336012)(83380400001)(47076005)(40460700003)(16526019)(70206006)(86362001)(1076003)(356005)(70586007)(40480700001)(36860700001)(5660300002)(6286002)(81166007)(23180200003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2022 08:08:03.3138 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c46d247e-45e7-4fb1-492e-08da535d2a5e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.236]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT038.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB2376 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 20.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 06/23/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/steevenlee/dpdk This queued commit can be viewed at: https://github.com/steevenlee/dpdk/commit/8d8739b082947b014d4a6b3bc27a01a548d40d47 Thanks. Xueming Li --- >From 8d8739b082947b014d4a6b3bc27a01a548d40d47 Mon Sep 17 00:00:00 2001 From: Stanislaw Kardach Date: Wed, 11 May 2022 17:07:25 +0200 Subject: [PATCH] test/ring: remove excessive inlining Cc: Xueming Li [ upstream commit 981a025741f80b4036f994ed30b04e757299ab19 ] Forcing inlining in test_ring_enqueue and test_ring_dequeue can cause the compiled code to grow extensively when compiled with no optimization (-O0 or -Og). This is default in the meson's debug configuration. This can collide with compiler bugs and cause issues during linking of unit tests where the api_type or esize are non-const variables causing inlining cascade. In perf tests this is not the case in perf-tests as esize and api_type are const values. One such case was discovered when porting DPDK to RISC-V. GCC 11.2 (and no fix still in 12.1) is generating a short relative jump instruction (J ) for goto and for loops. When loop body grows extensively in ring test, the target offset goes beyond supported offfset of +/- 1MB from PC. This is an obvious bug in the GCC as RISC-V has a two-instruction construct to jump to any absolute address (AUIPC+JALR). However there is no reason to force inlining as the test code works perfectly fine without it. GCC has a bug report for a similar case (with conditionals): https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93062 Fixes: a9fe152363e2 ("test/ring: add custom element size functional tests") Signed-off-by: Stanislaw Kardach Acked-by: Bruce Richardson Reviewed-by: Honnappa Nagarahalli Acked-by: Konstantin Ananyev --- app/test/test_ring.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/test/test_ring.h b/app/test/test_ring.h index c8bfec8399..45c263f3ff 100644 --- a/app/test/test_ring.h +++ b/app/test/test_ring.h @@ -97,7 +97,7 @@ test_ring_copy_from(struct rte_ring_zc_data *zcd, void *dst, int esize, } } -static __rte_always_inline unsigned int +static inline unsigned int test_ring_enqueue(struct rte_ring *r, void **obj, int esize, unsigned int n, unsigned int api_type) { @@ -158,7 +158,7 @@ test_ring_enqueue(struct rte_ring *r, void **obj, int esize, unsigned int n, } } -static __rte_always_inline unsigned int +static inline unsigned int test_ring_dequeue(struct rte_ring *r, void **obj, int esize, unsigned int n, unsigned int api_type) { @@ -222,7 +222,7 @@ test_ring_dequeue(struct rte_ring *r, void **obj, int esize, unsigned int n, /* This function is placed here as it is required for both * performance and functional tests. */ -static __rte_always_inline void * +static inline void * test_ring_calloc(unsigned int rsize, int esize) { unsigned int sz; -- 2.35.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-06-21 15:37:51.816897432 +0800 +++ 0055-test-ring-remove-excessive-inlining.patch 2022-06-21 15:37:49.074451382 +0800 @@ -1 +1 @@ -From 981a025741f80b4036f994ed30b04e757299ab19 Mon Sep 17 00:00:00 2001 +From 8d8739b082947b014d4a6b3bc27a01a548d40d47 Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit 981a025741f80b4036f994ed30b04e757299ab19 ]