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 43064A00C3; Sat, 6 Aug 2022 20:35:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 292974067B; Sat, 6 Aug 2022 20:35:42 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150070.outbound.protection.outlook.com [40.107.15.70]) by mails.dpdk.org (Postfix) with ESMTP id BE1FE4021E; Sat, 6 Aug 2022 20:35:40 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=nacLsqqBFA6TiyxhC/pSQOgbT9XIndEnNTPfo+iOkHW7PYJawkcrgVTY0AG1PqTRO3z3QXNJKZzDE+LjKxz0P57gOIRZyinfT/cMIfPbIoIIUtb+k23RH/3WyT2l2hTMFC1TfM8iOmxf0SqUkvKwFAIi4bP3UMVHnakZDwMvihbsXDQWpCFqr2VcM0qiU2uA/ZEPgnY3Czrb8l1nmpysw2MGa6yLbZGseTRNNuaTdfoQMvaesa3t62kX0r1FOD2JI9uDh27Ubp7OSbv+l7LPTyk2NBdValtGoBpB6yEJ6MB37Ml4qGlknaoZ5Wwr0rmTVZSOwXv/q6UZpNIs5Ueomg== ARC-Message-Signature: i=2; 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=gksaEqHOWvRHaNYJYG9/iCPWIMyQ0i5eY8wsgnFvF6E=; b=Rvx9E31cJUjSCLbyefa6Unwgsy9Fk9NqBJRhDB0z6o6IBU+Q31z6sF0JhCrI+/KANIcssnDXVVFcVLia1Q6zEhnxPexX6MIG0MVmXkeEY1jRDtR6f1RmunFWC3lSm8OI+ZUOvsSKePXyv7qMaeL8Ug7zGUdjZ3P+qoHJESSGiPgxHLsNrqfpt1sfe+ziAAPROpDbkDoPUk8SOS0GjRFkFYzD1IUhS58zy1u8t1dleFW4s5r8ZYEOB0Alz0uIrpDfgFV1EN7/GGEabvw4nFxeNltQr5jQ+pWb2c6I8eEfWpc62M4e6QkzJXwy63HZ4GNQjvraQen12ZZUR/Zs0ONjRQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gksaEqHOWvRHaNYJYG9/iCPWIMyQ0i5eY8wsgnFvF6E=; b=E0jB1vh2BwVuRrUE/rZXoWA7mfVfLyRbmbaV1D3hN8nrfvUpzkofa/+PqtY9UaIRv6+BtlXOAVPFiLSThakq2o+lpbHrQBhcG0VZWIymmhQlcDphVC7Ge5RJcq1hFoMoqTA5xb/g84w93r7mnyROKHByMN2JNQuadI7o96Trfaw= Received: from FR3P281CA0131.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::14) by AM7PR08MB5365.eurprd08.prod.outlook.com (2603:10a6:20b:109::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Sat, 6 Aug 2022 18:35:38 +0000 Received: from VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:94:cafe::4b) by FR3P281CA0131.outlook.office365.com (2603:10a6:d10:94::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.7 via Frontend Transport; Sat, 6 Aug 2022 18:35:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT038.mail.protection.outlook.com (10.152.19.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16 via Frontend Transport; Sat, 6 Aug 2022 18:35:37 +0000 Received: ("Tessian outbound 2af316122c7a:v123"); Sat, 06 Aug 2022 18:35:37 +0000 X-CR-MTA-TID: 64aa7808 Received: from 8b5c16e1cae1.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E093425C-1D12-4ABA-8816-966056A41809.1; Sat, 06 Aug 2022 18:35:30 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8b5c16e1cae1.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Sat, 06 Aug 2022 18:35:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZxvxUTW/wn+zN2DgzmHo9leBlvdkb9nvMxUfg3sCPNi7GJyw3HzT5nreRvg49bZgQT40Vxz6Mn0dri0AoDUILIZ6da+7ZizC74uNmapQT95qCsSyyS87OfILUa26n5veoNC91OgRrvWwBiajY0MPy5rH8jdUDNQxKzolJoCfNZR2umOiq0dZ3G8IxVNsX2B8JN8Ftb8rjBQNXl/Sr+4yJyjQDqPQVmZk4qdznh1Jx4JkULuol7/w+8eAbWAPtElJ41Heh+2OMaXmK2QpU1ylQ8TBn9qAqBXCqK9/PSJ3kAyKFd3Jw8fqsMeIcT6UW9WP8gM/u3Yo5kTmxpPDfunDOQ== 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=gksaEqHOWvRHaNYJYG9/iCPWIMyQ0i5eY8wsgnFvF6E=; b=hNY0k5wd10d7hiBYrFDtTTuJ9FOkVyNk7AIECFj8MZ6GDZ0/fLOLyW9it5turPClEIeGzh/Colu0neiDQH50mSfwH9W9fQ4YjPDiUZpv6Qcu/ZxeXpZy/bWx1ZXM12XW13cySdh/jUHd3THz280gIHtgxBU3MLIlG4PO122A6QPCY7e/EOGmwhV4RBwrwEZZPW/mYMPhRWyZUdVJpLsG+f5seiNGqmicbCVZgd732J4mFIxUJKMdw85NlDr0bTCXohIsdrR5nuWFxgwyL1KxUL29ZPcFr+D5VJDoq+b5inYfRkk+pE0eUS5IrSy0VBMcSIf8B30f+7JuZXVlNtObgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gksaEqHOWvRHaNYJYG9/iCPWIMyQ0i5eY8wsgnFvF6E=; b=E0jB1vh2BwVuRrUE/rZXoWA7mfVfLyRbmbaV1D3hN8nrfvUpzkofa/+PqtY9UaIRv6+BtlXOAVPFiLSThakq2o+lpbHrQBhcG0VZWIymmhQlcDphVC7Ge5RJcq1hFoMoqTA5xb/g84w93r7mnyROKHByMN2JNQuadI7o96Trfaw= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB7PR08MB3178.eurprd08.prod.outlook.com (2603:10a6:5:24::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Sat, 6 Aug 2022 18:35:28 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f9bc:749e:7a65:a2fc]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f9bc:749e:7a65:a2fc%8]) with mapi id 15.20.5504.017; Sat, 6 Aug 2022 18:35:27 +0000 From: Honnappa Nagarahalli To: Amit Prakash Shukla , Konstantin Ananyev CC: "dev@dpdk.org" , "jerinj@marvell.com" , "stable@dpdk.org" , nd , nd Subject: RE: [PATCH] ring: compilation fix with GCC-12 Thread-Topic: [PATCH] ring: compilation fix with GCC-12 Thread-Index: AQHYqKpXZGzJilwdp0u1dzfABv+3Q62iNMDw Date: Sat, 6 Aug 2022 18:35:25 +0000 Message-ID: References: <20220805090348.1947658-1-amitprakashs@marvell.com> In-Reply-To: <20220805090348.1947658-1-amitprakashs@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 3217BF5F8AE17645BD0739849DAFE0A5.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: d12d4d4f-d42e-4fba-c8fb-08da77da7550 x-ms-traffictypediagnostic: DB7PR08MB3178:EE_|VE1EUR03FT038:EE_|AM7PR08MB5365:EE_ x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: kddwWh9U1FkheoPI+umyJIw/TMC5ve2Wknhcb6PWdHVjjVDGQ2bZReIYA+F3ETDj/bGYoVi/0RZ6FJGQSr42yGdnFFxKihHSTnpWzxqb3w4kXn/nG3kLM5daG6RPAerS3OhLoy0E/vbhjN8u538T+FHyGb1dUcCcYlpf719TUEUx2X27b+p2qLUz/8vxcengYunTiBOOqsSG0nJIF7BFDUKtljgE25bt2Yh0+XQ8b0RCxBUvnLeHNb5Hg69/m8UGB1JO8yvod8FJRde10HhKOp1iD+m2hLVYgUNspWPxJc9ZyoQqTi0y4JIcOm7BTnphCLaaaWojRoV86UTNNrReoKpyYYwM2AjDDj/DGKM+EcrhUS1ocOAPgakYLeclTY+4429vE7JQjx3sU/7MRUEjuSI70AJgL/x53YD8AJh7UYClbuAlaTrXdvXA1UiCKISyK3bkmBvQbLrOxwHmVBBpz6h3R5Gi/29nvKMJF8E0gd65fPkpveB0WWtiIsdCRp4YclfYVdyBi/JgPK9i08V7KsX98nmPHOxe6wKAsvsUuyVwDUbjlX2XlV8aT+B03eeBezUNYiscoE8VPa1+UoYWwtZjqGxguFXC7fQiQ82/v+bf2pAc94hDZs/y1w1aeM913NCnxtV8MrMQgr9PZgt/iWzucfvpZeI+wHbJnFo4awxESEA+KJai7FO61UIhzH9LChg80zkviFKE9a8UAzjG72HHHEUwB4+eLaqsFOltomeSvun3n+zs0xxySVmLlF53QYXQgQRKRkqV88WoP2/DZwPAYtExr25W8l2VAYZDUz4= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(396003)(136003)(346002)(376002)(366004)(39850400004)(9686003)(186003)(26005)(478600001)(52536014)(8936002)(71200400001)(33656002)(2906002)(41300700001)(6506007)(7696005)(83380400001)(4326008)(38070700005)(8676002)(66446008)(66556008)(55016003)(64756008)(66476007)(66946007)(76116006)(86362001)(38100700002)(122000001)(5660300002)(54906003)(316002)(110136005); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3178 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 35f5de62-cf5b-4a11-8b18-08da77da6e1c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PRUfnyIzwi6fa+OqCPJOMQncqa/4feaBpTB+jX+XNw/dP4gw/RGjQiSm9Jlj/BQFWcC6BMC1hFwIM38MS23Gzq6w1WxQYFV4UaLJwfuOD5VCnZs+oEVE5AQiG0/zBod1lA6Cww+GsdG4r1eb4qhgQ9d9G3TLRedjfTjJoHEQ/EXyRcrpIKV9WGGYiyn3B7BWqp1EMahzswOHP9SxvKW/OQlXMRI4XeECrs+1GDjNPhXrYuSh9k0G4Jp2KdhiKnrC7qX/L4+2zO8H5oaaF748IsHvd6BQ2nMDdBLhJNNPHhFxN/4jber917EnUsKu85VHd1iqvtkfE4rqJY+GCAgupzzme77iwepx8t8FeyS9MGZWScio1sdCtGLzPoqVIZwZ3rTsd4x7p44SOX9hKiP7LqRpGgl7ON+SNmpdBpj+Ks+/cTY5NNU3uD0hiOaGuUg0XBRtGEIhoZcxN9pXESHzf7k1HGExmQkwOPIamYOffyTFWvt+YzAOs31qjtb7fQYYd6jPFaTVQP7gX7CCSD5DGWWmIdJBMfqs/h+LlcMda2WXVl7vTtQ25gfNnK5EjyZtUxL44iqZSfp31av8WPtIJ31d9zmLUDbEUSv1il1GdwIYisnFMOFruPalEFOUX13Jeo6hXdvhJO6luF1KUeS2p7D1r4NYx3v3MveWFLnaW4HNzB6IPZ6k4KwYevKlnzeuPpbBSsi92467qzDzeYEX2BwGqgFz/iHLSrXkbcMX2AqlxX287xCGIQ4+GesHEIH3fweJgmLzSlSzRn08Up6UHA== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230016)(4636009)(396003)(376002)(136003)(39850400004)(346002)(36840700001)(46966006)(81166007)(36860700001)(5660300002)(52536014)(186003)(336012)(47076005)(82740400003)(83380400001)(356005)(7696005)(9686003)(41300700001)(316002)(6506007)(110136005)(26005)(54906003)(70206006)(70586007)(55016003)(40480700001)(82310400005)(450100002)(8936002)(4326008)(8676002)(478600001)(33656002)(86362001)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2022 18:35:37.9588 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d12d4d4f-d42e-4fba-c8fb-08da77da7550 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5365 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 >=20 > GCC 12 raises the following warning: >=20 > In function '__rte_ring_dequeue_elems_128', > inlined from '__rte_ring_dequeue_elems' at > ../lib/ring/rte_ring_elem_pvt.h:262:3, > inlined from '__rte_ring_do_hts_dequeue_elem' at > ../lib/ring/rte_ring_hts_elem_pvt.h:237:3, > inlined from 'rte_ring_mc_hts_dequeue_bulk_elem' at > ../lib/ring/rte_ring_hts.h:83:9, > inlined from 'rte_ring_dequeue_bulk_elem' at > ../lib/ring/rte_ring_elem.h:391:10, > inlined from 'rte_ring_dequeue_elem' at > ../lib/ring/rte_ring_elem.h:476:9, > inlined from 'rte_ring_dequeue' at > ../lib/ring/rte_ring.h:463:9, > inlined from 'rxa_intr_ring_dequeue' at > ../lib/eventdev/rte_event_eth_rx_adapter.c:1196:10: > ../lib/ring/rte_ring_elem_pvt.h:234:25: error: 'memcpy' writing > 32 bytes into a region of size 8 overflows the destination > [-Werror=3Dstringop-overflow=3D] > 234 | memcpy((void *)(obj + i), (void *)(ring + idx), 32); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >=20 > Replacing memcpy with rte_memcpy fixes the GCC-12 compilation issue. Any reason why this replacement fixes the problem? Do you have any performance numbers with this change? > Also it would be better to change to rte_memcpy as the function is called= in > fastpath. On Arm platforms, memcpy in the later versions has the best performance. >=20 > Bugzilla ID: 1062 > Fixes: 1fc73390bcf5 ("ring: refactor exported headers") > Cc: stable@dpdk.org >=20 > Signed-off-by: Amit Prakash Shukla > --- > lib/ring/rte_ring_elem_pvt.h | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) >=20 > diff --git a/lib/ring/rte_ring_elem_pvt.h b/lib/ring/rte_ring_elem_pvt.h = index > 83788c56e6..3d85b13333 100644 > --- a/lib/ring/rte_ring_elem_pvt.h > +++ b/lib/ring/rte_ring_elem_pvt.h > @@ -10,6 +10,8 @@ > #ifndef _RTE_RING_ELEM_PVT_H_ > #define _RTE_RING_ELEM_PVT_H_ >=20 > +#include > + > static __rte_always_inline void > __rte_ring_enqueue_elems_32(struct rte_ring *r, const uint32_t size, > uint32_t idx, const void *obj_table, uint32_t n) @@ -97,20 > +99,20 @@ __rte_ring_enqueue_elems_128(struct rte_ring *r, uint32_t > prod_head, > const rte_int128_t *obj =3D (const rte_int128_t *)obj_table; > if (likely(idx + n <=3D size)) { > for (i =3D 0; i < (n & ~0x1); i +=3D 2, idx +=3D 2) > - memcpy((void *)(ring + idx), > + rte_memcpy((void *)(ring + idx), > (const void *)(obj + i), 32); > switch (n & 0x1) { > case 1: > - memcpy((void *)(ring + idx), > + rte_memcpy((void *)(ring + idx), > (const void *)(obj + i), 16); > } > } else { > for (i =3D 0; idx < size; i++, idx++) > - memcpy((void *)(ring + idx), > + rte_memcpy((void *)(ring + idx), > (const void *)(obj + i), 16); > /* Start at the beginning */ > for (idx =3D 0; i < n; i++, idx++) > - memcpy((void *)(ring + idx), > + rte_memcpy((void *)(ring + idx), > (const void *)(obj + i), 16); > } > } > @@ -231,17 +233,17 @@ __rte_ring_dequeue_elems_128(struct rte_ring *r, > uint32_t prod_head, > rte_int128_t *obj =3D (rte_int128_t *)obj_table; > if (likely(idx + n <=3D size)) { > for (i =3D 0; i < (n & ~0x1); i +=3D 2, idx +=3D 2) > - memcpy((void *)(obj + i), (void *)(ring + idx), 32); > + rte_memcpy((void *)(obj + i), (void *)(ring + idx), 32); > switch (n & 0x1) { > case 1: > - memcpy((void *)(obj + i), (void *)(ring + idx), 16); > + rte_memcpy((void *)(obj + i), (void *)(ring + idx), 16); > } > } else { > for (i =3D 0; idx < size; i++, idx++) > - memcpy((void *)(obj + i), (void *)(ring + idx), 16); > + rte_memcpy((void *)(obj + i), (void *)(ring + idx), 16); > /* Start at the beginning */ > for (idx =3D 0; i < n; i++, idx++) > - memcpy((void *)(obj + i), (void *)(ring + idx), 16); > + rte_memcpy((void *)(obj + i), (void *)(ring + idx), 16); > } > } >=20 > -- > 2.25.1