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 D852645966; Thu, 12 Sep 2024 04:38:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6DBBF4027D; Thu, 12 Sep 2024 04:38:14 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2057.outbound.protection.outlook.com [40.107.101.57]) by mails.dpdk.org (Postfix) with ESMTP id 91C0540267 for ; Thu, 12 Sep 2024 04:38:12 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WXlMCqsi2vz9tI31q0rWSRsKrNB2xYrJAXbf8bLEjAVXZtu3dokDav6xO8AKz8uqBLKpi/SfNfc4jxsV6gC4LbrG6GuAZYjsJ3njwzD/uRAlCD+hV5IUZy68q5to+tdVWIPaTWvx3UTtTT9P8yiPYyj+RSJwnnTMD3jkagQpDBgHJC0/k95qZFTyPODIFpJ5DVsnxZ+TWVNL8+Ww3Ef2dXXatNiNP9/JrCXJP2okwgB2KWgOth9yyLrQTgpXvVKV3TUklUBAcvpawH7IAfw2DFCCe/vCI+fm7gR9zowZVaqiVB8oBtjTn6AkBcwDF07ihs9gu6cWpf9UCC6QFE2i+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=R27w10L6P6sfjr5OGIOYlUmEIepaDIQTM8MX9UPiXwc=; b=viZwBNpZCEfsWR3s/d6vCL/dJm9ybCvdeMsVQNt3dCCrNlRgwVYQ8kdvduL03P6ayFjFHB2oUKxPnY51zNK73MqssZoXIl7v6GjOsk9E3VmT000xatOThFbC3XgdiPfLkKlCO1f5dY5m+90hNddqKKJUDUXw+Lr1gQ6YsInsVC3oHMUySCCPGmAGo7ggQkktSr9V6cOqOou7qjWNoifmFft5W9/MO0TEJOlB/3ePwydpyoY0JooFRBsyfy0CCgvkCZkwOOyL+/JCzkakQBiCRWuoB5rt5URNmTc565Oo5fBOuOUeQBanzK3Kp2x5XL6WlOvaK++PKo6eIqDVmUuQsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R27w10L6P6sfjr5OGIOYlUmEIepaDIQTM8MX9UPiXwc=; b=mFvNBSthcfBMz68w+xAjlWRjrYrQps8xuvuPAD7MCT2KyhXZ0lLz9HycPCb8IVvYIJ9vfwbjYTD9iwFfVsvx0n1n9IX4cHbWAu19G2JekUsTLPYBl066UN7pHvHcdxwWxW+dig9mbwmnMRkm5P+FFmVOj75ZIXc9Yc1cULghUyk= Received: from PH7PR12MB8596.namprd12.prod.outlook.com (2603:10b6:510:1b7::6) by MW4PR12MB6754.namprd12.prod.outlook.com (2603:10b6:303:1eb::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Thu, 12 Sep 2024 02:38:09 +0000 Received: from PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069]) by PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069%5]) with mapi id 15.20.7939.017; Thu, 12 Sep 2024 02:38:08 +0000 From: "Varghese, Vipin" To: Konstantin Ananyev , Bruce Richardson CC: =?iso-8859-1?Q?Mattias_R=F6nnblom?= , "Yigit, Ferruh" , "dev@dpdk.org" Subject: RE: [RFC 0/2] introduce LLC aware functions Thread-Topic: [RFC 0/2] introduce LLC aware functions Thread-Index: AQHa+JNN1dIv3haYqUm1ERuQ50RdLbI7nXQAgAgSf4CAA7kzgIAIKv8ggAAKnQCAAmLgMIAA1QwAgABrPYCAAEQEgA== Date: Thu, 12 Sep 2024 02:38:08 +0000 Message-ID: References: <20240827151014.201-1-vipin.varghese@amd.com> <45f26104-ad6c-4e42-8446-d8b51ac3f2dd@lysator.liu.se> <5b0a3e6e91a3404d90224420e1cd758d@huawei.com> In-Reply-To: <5b0a3e6e91a3404d90224420e1cd758d@huawei.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ActionId=c8c57b54-dba8-45ab-8264-97fb4552bb18; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ContentBits=0; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Enabled=true; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Method=Standard; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Name=AMD Internal Distribution Only; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SetDate=2024-09-12T02:29:07Z; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR12MB8596:EE_|MW4PR12MB6754:EE_ x-ms-office365-filtering-correlation-id: 4e039bc6-5a0a-4675-68df-08dcd2d3efb7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?Yn/qV1Bg9NlbJY8RV/9ee4begNoOq4Vhlk52Rw30X3OVLPS54DozWoGKx0?= =?iso-8859-1?Q?x55quKlMjt6R4S40nZKkOD3AbCaOdzlnBPyOhFWTSMfG+eECkHPSAeP3HM?= =?iso-8859-1?Q?v2ObAsIMOFSKA4a4Rxps646kFk0wbb894XP1y1L9pceCuNyb5n4nNW8HFZ?= =?iso-8859-1?Q?3PcDhFpA6voEyr1JvStsKDKIOe075YqPUOKxK8S3EWQFa/8qXubB0gYTPD?= =?iso-8859-1?Q?yG2a33UrgvjxNz8T2+gvidR2Rz5xMvNanrjAx+WuX9um91JEjDh2w5KTiE?= =?iso-8859-1?Q?5QsLQmU/yoDWU+cJHnp6KSwLBKoClejIb2Vfqe2Vf79De1bcmhkn9F2cXB?= =?iso-8859-1?Q?QQ0i1HfdRqT5EIbFIdX676/M9pp070A1LLSLD2f+4Ht8rIGeYkbGTYn9Rw?= =?iso-8859-1?Q?Mkqf3Eo2aAWStTKVKvnf/bjHvqGcyZnTqnsLGeRG5PE5mcqiahaBNHSZZt?= =?iso-8859-1?Q?RGvZwvS/tUFVybeUa/3SnZ6kowQsKFaDSUG2SaaORDbfH/06cBGmrRJX0d?= =?iso-8859-1?Q?IeWK8UkadDub2SwNyBQuRapMA3OnlJkFDUB410v6bd0lRbclgLjw2UGklB?= =?iso-8859-1?Q?5WXD1jYXtRyhBiJjKABxAZ0yNAztiZVT54wlnSqBEY8NVv+YmTnUSnXHVJ?= =?iso-8859-1?Q?6t1DFGj0LT5/T0MVESVzZlWEMoHNX/+13XaGkbZYpmg3BR5pN/Ibg1C6XW?= =?iso-8859-1?Q?VbxdOGOVmIGx2wl1h5YOhO9wMeCXFiKdRzUx4U+2A0xlTSp/N4P6ty1zn0?= =?iso-8859-1?Q?97iQFAqnQ1BSO4kXae/lNbwoTqYEBpkKCwyumgkLpbA7g2yL4ZvjGNxTrm?= =?iso-8859-1?Q?rWeyREnDwZbaz7dFqFsjOnioPW189BgWIbJbdfR7WqWUdF5mrMFrizUjv7?= =?iso-8859-1?Q?04tKTfvQUlnUCGXVVZ3caJrnjmxEHtG5wRnCcFh0L3qtOb2GUS4ysCG7+Y?= =?iso-8859-1?Q?G65yrfgigTidM1ccgaLYIjZyeLQ8gsr+jW3NutuPwIT6AjPr31QIKKgWEg?= =?iso-8859-1?Q?nYodM67NgOVQND8rgiDIYxcAzB7LiDdd5TWteaIhuL1x3biiHeQrNoLN0F?= =?iso-8859-1?Q?YblEJa4eHcVfF8+wYyAiPkeGhWj6rIb0S3ML8vsnA/VnzSQbrF1k8vCMWE?= =?iso-8859-1?Q?JJoOqoviTTFWrBsIffJazgCi8VNMPwpiN3ggF0dPvDqwz8Q69gWbBZPKQP?= =?iso-8859-1?Q?tPfNfPG4Y2bVnMR4vppfdQG9l12BjT69nno7LD9hDb8SCd3SbP5pa90PnL?= =?iso-8859-1?Q?G0UTqiDiRD6f9i5SOWOW+GPrDUcE+Wn/vrr49X4IDBcVtfyFJ3P3RhNT5h?= =?iso-8859-1?Q?sKWFn7V3C2FeytvVrYh3aB1o9lin0kBrs+P0ayP+Q3+shzN24bALXqqghL?= =?iso-8859-1?Q?EBqgJRhk5Oun6XV3TBX6uPt/TuCAXFSFbz2XyWFI4kk+V1rIbzPeln7vU2?= =?iso-8859-1?Q?+y4GpCKaoWYhoWp5rxXTO/6ng4HDidRBxFQErg=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB8596.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?bYSV0JYL30t6u6uq79CJ3dsp88VqdRBwy/d1RKsu+yuJIw2PNHxQx7MPk4?= =?iso-8859-1?Q?G0/gSjsOH3/6VzpQUPk1+r4wEqMabje+2blljjwAfSzqfzBg/r0+uqFQyd?= =?iso-8859-1?Q?cC7Vax4qrtJ5hUZ+eVvA+Cg4DVnadU29IppPGGn1Ia/3An64JoCOo8ZDK7?= =?iso-8859-1?Q?Vq2/9KbHImEjD4ZuVTapmRYjdlgjenL3N8xxlcu3DQRamuZuSLNGEh7aIV?= =?iso-8859-1?Q?ld19WNeg9OkIUtqnQfXtCCoohdbvfTcBaW9qkV4OfPkGLxMVIlhbrX0ySA?= =?iso-8859-1?Q?+tmlTvAdyfWDD57sen+Kjjbq1U4Xi/fHWUgNVhChfk8h4xJKMtG/lsdtCR?= =?iso-8859-1?Q?/KZl7US5i2r9R1I7x9hXrdyrLR8QxYR+0ZKWmtUiJcfyiYv45G8S7SFwI7?= =?iso-8859-1?Q?kRLweaUYDySlFFEmfzSZalpoZF4sYzrLKWF8eeyTc0ITB8LgVWZADMkKsn?= =?iso-8859-1?Q?U4wKz8VqODS/01HOLAaHgRHSD1NkOm/lQMgl8AZHX+F2MP+CBmRCukbmOV?= =?iso-8859-1?Q?jrrxphv4DRqfzml/sHtdXgHDCqHRNsXCt09WWiBNnNpjTWyc2vOWhU92H9?= =?iso-8859-1?Q?taEPopu/zq0QkXD8QN+OvhKi9cRVk+BLYtxiPyp5MEKVsW8ZyaA/f/jvax?= =?iso-8859-1?Q?IcpTzZFHzzJ4jcYYrQAX6/SQLAj3VVgt57XByW3lXdmLB0XbDdDFUeg1iB?= =?iso-8859-1?Q?wcqiigF+u4uf+wRxBDmjU5qyilABY6lXTcfMpu1sjUWZnV+QjyKW3lh0zP?= =?iso-8859-1?Q?rwKT/AtdsxOxhjLPIiBB4CSj7Oje52GamZR3Fs+Khtrq9w+1yFULtiV1lL?= =?iso-8859-1?Q?0fH0dx94sXdgqVWBZfcXpxBHflC94L5wj2MUt8Sq0rOL2b5vmVbuXbSXID?= =?iso-8859-1?Q?/shshj3SrNkavPdTMkwgnlQixkKZmt2e4vtQtMuCUNmYH3w3vGcgmU/OKI?= =?iso-8859-1?Q?wRKphslNQjA/VdFEMQefMIUD4y8+byEkBAvLmzivRuPgY19bZnJx47E6xD?= =?iso-8859-1?Q?C0o2Xo6HUqUy9S0UWvsaQZyn7gxbIN+0sfOSagfjHWgY9soGBqYm4T7r+6?= =?iso-8859-1?Q?i3FcyCb7uyKn9MMRcZkcoJliw0WjGYCZcgCgHjtySVEyGnq1Y8+a8y+h3V?= =?iso-8859-1?Q?TooiPBAjRG2WkePemGaBfdtxwt+2hjopuyzl+omUC5yjcQ5khIAAZjWMWK?= =?iso-8859-1?Q?tO+9Y8EeW3Bo5eODDCEeA//W0OQnZCeAjh2XCM9Grn8OJxpWdMyatwRsDV?= =?iso-8859-1?Q?QZHV6o9QWqah2WnpOXSsMBE0X6TTv60KnV8UbntLoKG+rzjI4VRld2cf6f?= =?iso-8859-1?Q?DHMLbHs5thN6Xnn1zcupfGDXfZ4wMXO9jDb2h76XPR7muGz5C/sVIGmDjn?= =?iso-8859-1?Q?HgRHlkaRJ00JsY6gWcV2f9qoGAV98k9PtFb4rtai7P+qwAkVfaUrQzavTZ?= =?iso-8859-1?Q?Fzt+HaKiIfvLld0DETZx/zkZYuVZJLuQK74VyaKL9rZ7J+AqUgyINJtPPD?= =?iso-8859-1?Q?us9C0dCNayxLhq4K96Rh60eG9UI61Ze/Pf1r0ZWjJdSMCL8su0FLxjHHvG?= =?iso-8859-1?Q?w6QxGYnXeUp589n6BCWxnjdpUAAOOcGT1bwmpnMNWynGjUfLOvmYqKX/vh?= =?iso-8859-1?Q?FP4XB8XrwFNcY=3D?= Content-Type: multipart/alternative; boundary="_000_PH7PR12MB8596676D8F96D7F8E13D15E682642PH7PR12MB8596namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB8596.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e039bc6-5a0a-4675-68df-08dcd2d3efb7 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Sep 2024 02:38:08.1285 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GHcCAy6uUGJvX8IqpVGrz20g6QzMOVEe7EPt80QGkmWikDt0CIAJXQiwfPBcLsnYBLtMvCpnMNEAxixVOeZp4A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6754 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 --_000_PH7PR12MB8596676D8F96D7F8E13D15E682642PH7PR12MB8596namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - AMD Internal Distribution Only] > > > > For the naming, would "rte_get_next_sibling_core" (or lcore if you > > prefer) be a clearer name than just adding "ex" on to the end of the > > existing function? > > > > Looking logically, I'm not sure about the BOOST_ENABLED and > > BOOST_DISABLED flags you propose - in a system with multiple possible > > standard and boost frequencies what would those correspond to? What's > > also missing is a define for getting actual NUMA siblings i.e. those > > sharing common memory but not an L3 or anything else. > > > > My suggestion would be to have the function take just an integer-type e= .g. > > uint16_t parameter which defines the memory/cache hierarchy level to > > use, 0 being lowest, 1 next, and so on. Different systems may have > > different numbers of cache levels so lets just make it a zero-based > > index of levels, rather than giving explicit defines (except for > > memory which should probably always be last). The zero-level will be fo= r > "closest neighbour" > > whatever that happens to be, with as many levels as is necessary to > > express the topology, e.g. without SMT, but with 3 cache levels, level > > 0 would be an L2 neighbour, level 1 an L3 neighbour. If the L3 was > > split within a memory NUMA node, then level 2 would give the NUMA > > siblings. We'd just need an API to return the max number of levels alon= g with > the iterator. > > Sounds like a neat idea to me. Hi Konstantin, I have tried my best to address to Bruce comment. Let me try= to recap 1. we want vendor agnostic API which allows end users to get list of l= cores 2. this can be based on L1(SMT), L2, L3, NUMA, TURBO (as of now) 3. instead of creating multiple different API, we would like to add 1 = API `rte_get_next_lcore_extnd` which can be controlled with `flags` 4. flag can be single or combination (like L3|TURBO_ENABLED or NUMA|TU= RBO_ENABLED). 5. As per my current idea, we can expand ease of use via MACRO and not= API. I hope this justifies why we should have 1 exntended API and wrap things wi= th Macro? May I setup or add to tech discussion call with Mattias and Honappa too? --_000_PH7PR12MB8596676D8F96D7F8E13D15E682642PH7PR12MB8596namp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
[AM= D Official Use Only - AMD Internal Distribution Only]

<= snipped>
>= >
>= > For the naming, would "rte_get_next_sibling_core" (or lcore= if you
>= > prefer) be a clearer name than just adding "ex" on to the e= nd of the
>= > existing function?
>= >
>= > Looking logically, I'm not sure about the BOOST_ENABLED and
>= > BOOST_DISABLED flags you propose - in a system with multiple possible=
>= > standard and boost frequencies what would those correspond to? What's=
>= > also missing is a define for getting actual NUMA siblings i.e. those<= /span>
>= > sharing common memory but not an L3 or anything else.
>= >
>= > My suggestion would be to have the function take just an integer-type= e.g.
>= > uint16_t parameter which defines the memory/cache hierarchy level to<= /span>
>= > use, 0 being lowest, 1 next, and so on. Different systems may have
>= > different numbers of cache levels so lets just make it a zero-based
>= > index of levels, rather than giving explicit defines (except for
>= > memory which should probably always be last). The zero-level will be = for
>= "closest neighbour"
>= > whatever that happens to be, with as many levels as is necessary to
>= > express the topology, e.g. without SMT, but with 3 cache levels, leve= l
>= > 0 would be an L2 neighbour, level 1 an L3 neighbour. If the L3 was
>= > split within a memory NUMA node, then level 2 would give the NUMA
>= > siblings. We'd just need an API to return the max number of levels al= ong with
>= the iterator.
>=
>= Sounds like a neat idea to me.
&nbs= p;
Hi K= onstantin, I have tried my best to address to Bruce comment. Let me try to = recap
  1. we want vendor agnostic API which allows end users to get list of lcore= s
  2. this can be based on L1(SMT), L2, L3, NUMA, TURBO (as of now)
  3. instead of creating multiple different API, we would like to add 1 API= `rte_get_next_lcore_extnd` which can be controlled with `flags`
  4. fl= ag can be single or combination (like L3|TURBO_ENABLED or NUMA|TURBO_ENABLE= D).
  5. As per my current idea, we can expand ease of use via MACRO and= not API.
&nbs= p;
I ho= pe this justifies why we should have 1 exntended API and wrap things with M= acro?
May = I setup or add to tech discussion call with Mattias and Honappa too?=
--_000_PH7PR12MB8596676D8F96D7F8E13D15E682642PH7PR12MB8596namp_--