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 D074542A12; Thu, 27 Apr 2023 16:11:18 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 61D9B42D2D; Thu, 27 Apr 2023 16:11:18 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id A6E2E42B8C for ; Thu, 27 Apr 2023 16:11:16 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33RClCw1017356; Thu, 27 Apr 2023 07:11:16 -0700 Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2040.outbound.protection.outlook.com [104.47.74.40]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3q781hugqs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 27 Apr 2023 07:11:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DM8VnmY7g/KaXSaNxO1SjK1otR+ohfagkFaqXOK9s8fmdRbGY9LLf/gzOsS4RLTbSzCqbrvPUqFAd4MloZvDzsdj815+US4gyrOIjPwq6dnzFevTI8+hT6ABYLAIEg+gIWWlY9832TndU2VoTE/dIjNl0cHLL6g7cyEQGDqfgC2XPPm9THXm9CwUy8vxpKcN2nv2Z2mbKo/rvNMYgwQQm+RH/UUEAiKqGx/piSgk7Mjgfjog3SRZnrIqH5/vwbS0DFMOVdIWmEQ4O3qjfooM452yEOlJty8Ha2VHByZKdEUTTmm5sWCs2Xy2N7TPN6AEh2BhRg8gEQh0fHZObeUoQw== 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=Zf1Pm+o8lDNl4swzR+Qc37LSQmUmBlB4LBT3jxbQ5jU=; b=eKCyzUg/NvniHiv/bx3lAz8HpQykfA37+2HYW1BNAie6HmBD/I18bMqcTc4r2RsR9q0HmIwTCQryh4qyoCkGEMgmulIpUXJQAzkgQiGrn0pfNh5RHdeI4euk/5nocuJhSiENkzpnK5aZJhlxHNA3Az2GapNmxh9j6/z43fEAOLuP7HORzWxcNgg8ql+ZN+/cB5DR6ReGkTAYwNoMwUePWqgDMXo/NP3F7LtULhq5+uUpAhQ2e0pjRkKZOlz5RWf7B30WTqwHiCnsaYJpPo6A37Tf10lD4ItaBhg9u1m00tpxdkdrFFM+zxcvecRvQbsu9Sd6rYkxIVdniY7lPbvAyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zf1Pm+o8lDNl4swzR+Qc37LSQmUmBlB4LBT3jxbQ5jU=; b=Nfd3X+M1hsgAR+x8XCMmoTrEPPTupFXa2skk0rY0Hxn9P0bFtBjEPHq4IIRVqO7NiB8IWL9E7xmcOddRStSCI5ULC2x74+5WEPM+j4hU47gvtUK/h8AYQl+QMs3DGxEdxI3bb0L4yTk57xHJ76ltXGn5ykawppKS006traoxe5o= Received: from PH0PR18MB4086.namprd18.prod.outlook.com (2603:10b6:510:3::9) by PH7PR18MB5258.namprd18.prod.outlook.com (2603:10b6:510:246::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.34; Thu, 27 Apr 2023 14:11:11 +0000 Received: from PH0PR18MB4086.namprd18.prod.outlook.com ([fe80::2e10:cd72:2bc4:b4bb]) by PH0PR18MB4086.namprd18.prod.outlook.com ([fe80::2e10:cd72:2bc4:b4bb%6]) with mapi id 15.20.6340.021; Thu, 27 Apr 2023 14:11:11 +0000 From: Pavan Nikhilesh Bhagavatula To: Zhirun Yan , "dev@dpdk.org" , Jerin Jacob Kollanukkaran , Kiran Kumar Kokkilagadda , Nithin Kumar Dabilpuram , "stephen@networkplumber.org" CC: "cunming.liang@intel.com" , "haiyue.wang@intel.com" Subject: RE: [EXT] [PATCH v5 02/15] graph: split graph worker into common and default model Thread-Topic: [EXT] [PATCH v5 02/15] graph: split graph worker into common and default model Thread-Index: AQHZY4XKSt6EVuyEVE28U9AiO7Mw3q8/XQWA Date: Thu, 27 Apr 2023 14:11:11 +0000 Message-ID: References: <20230330061834.3118201-1-zhirun.yan@intel.com> <20230331040306.3143693-1-zhirun.yan@intel.com> <20230331040306.3143693-3-zhirun.yan@intel.com> In-Reply-To: <20230331040306.3143693-3-zhirun.yan@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNccGJoYWdhdmF0?= =?us-ascii?Q?dWxhXGFwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02?= =?us-ascii?Q?Yjg0YmEyOWUzNWJcbXNnc1xtc2ctNWIyZWU3MDEtZTUwNS0xMWVkLWI2Y2It?= =?us-ascii?Q?NGMwMzRmNWZhYTM2XGFtZS10ZXN0XDViMmVlNzAzLWU1MDUtMTFlZC1iNmNi?= =?us-ascii?Q?LTRjMDM0ZjVmYWEzNmJvZHkudHh0IiBzej0iODEwOCIgdD0iMTMzMjcwNzgy?= =?us-ascii?Q?Njk1OTI1NTM2IiBoPSI2ZW5hcjVTZ1dwL1R3bW5nWUluMkpxazFiTHM9IiBp?= =?us-ascii?Q?ZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFC?= =?us-ascii?Q?UUpBQUFnWjRjZEVublpBYkFVdlZOeE1LZmFzQlM5VTNFd3A5b09BQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFDa0NBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBRUFBUUFCQUFBQWFpNXhJQUFBQUFBQUFBQUFBQUFBQUo0QUFBQmhB?= =?us-ascii?Q?R1FBWkFCeUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFG?= =?us-ascii?Q?OEFjQUJsQUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFB?= =?us-ascii?Q?QUNBQUFBQUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdV?= =?us-ascii?Q?QWJnQjFBRzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFDQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFC?= =?us-ascii?Q?akFIVUFjd0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlB?= =?us-ascii?Q?TUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5n?= =?us-ascii?Q?QUFBR01BZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4?= =?us-ascii?Q?QWNnQmtBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFBSE1BZEFC?= =?us-ascii?Q?dkFHMEFYd0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQWFRQjBBR1VB?= =?us-ascii?Q?Y2dCZkFIWUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFB?= =?us-ascii?Q?QUFBQUFBQUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRzhBYlFCZkFITUFjd0J1?= =?us-ascii?Q?QUY4QWN3QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFB?= =?us-ascii?Q?bmdBQUFHUUFiQUJ3QUY4QWN3QnJBSGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZB?= =?us-ascii?Q?RzBBWlFCekFITUFZUUJuQUdVQVh3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFY?= =?us-ascii?Q?d0J6QUd3QVlRQmpBR3NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFH?= =?us-ascii?Q?Y0FaUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dB?= =?us-ascii?Q?Y0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZB?= =?us-ascii?Q?R1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFa?= =?us-ascii?Q?QUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQURBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNB?= =?us-ascii?Q?QUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIQUFjZ0J2QUdvQVpR?= =?us-ascii?Q?QmpBSFFBWHdCakFHOEFaQUJsQUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFH?= =?us-ascii?Q?RUFjZ0IyQUdVQWJBQnNBRjhBY0FCeUFHOEFhZ0JsQUdNQWRBQmZBR01BYndC?= =?us-ascii?Q?a0FHVUFjd0JmQUdRQWFRQmpBSFFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3?= =?us-ascii?Q?QVh3QjBBR1VBY2dCdEFHa0FiZ0IxQUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFB?= =?us-ascii?Q?Q0FBQUFBQUE9Ii8+PC9tZXRhPg=3D=3D?= x-dg-rorf: true x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4086:EE_|PH7PR18MB5258:EE_ x-ms-office365-filtering-correlation-id: 4fcddb0e-f773-4760-536f-08db472940fb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eBUYz6oqbJtSN+b9iCf97E9rct1VgtU+ZDjBxwGuxdrpgW3lUja5XdR8kKV3Wug9Z0KZyVWIt+5kCRu4yMFhiKwdr8pXZUuX9HGbbNcifw43vGD/W3GtOZesaNYwSeq88jWvsexMI4dv4Y+3t4h1nxgIovE8wQxGAKIskA5i5bcpkR0YgviUoBat+R3bfd8caJzgyOxlM9pkdIAa1h9d5g/+BSyv0WbQL/c97smPFKXI75A+GUGwiF5dkUK6X9lbeaoaT1Z4RymucLWe5Bar+Dg34bQqs7vAfmAkqDWp+hrYm1PY0CGMTrZwNaAOYnZgYZKbXNLegsrhSU+CZ49O7iIOzIRG6ax7NtHGhGKW/ljk9Pi7S4W+BqX2uxuOkaaMLHFfT319Z82LTMqDSeaRKcfHUFSCUwqaxyv1NMl5KiHn7AQ3W0/YZ5L/++d2LZQW/ypeZgyGfjwnULepr8q95ZXGp+TioQie8dLXMyp7Z2K0aawYJngy2rgALYFmU2H0kLgajBI5Me1Z6q4YevgOnEInJk+TT7QEcMcx2ruEEnyRh/a/BFmf1zoNq6wu5O0aVAIkVfqPNynFyI8wmnQGtpAC8FfgsBpzpwFYonYQUBpS9mxPBhW1VedFHKX9gItH x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4086.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(136003)(346002)(396003)(376002)(366004)(39860400002)(451199021)(55016003)(110136005)(54906003)(76116006)(66446008)(4326008)(66556008)(66946007)(66476007)(64756008)(8936002)(52536014)(5660300002)(8676002)(122000001)(478600001)(38100700002)(316002)(41300700001)(71200400001)(186003)(53546011)(83380400001)(6506007)(2906002)(9686003)(26005)(7696005)(33656002)(38070700005)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?xpFyxXmOU8tqV3DdcudABH/oeF0/6dOTUK3tlQ83QTA99NK8GIsWrD+eFJW0?= =?us-ascii?Q?h/+8ySeGSV/DTSs5a3F5KhHDvUmbkZrbcK7pBbFOjhekv7EQl8HZVed4G36w?= =?us-ascii?Q?IdtVicvJoFsyKb71lHYvf14DebRE0JKFsL/UYP0fqOOmbaDg0Jaj5GM6Mt1m?= =?us-ascii?Q?PZrEmbEUC1Vd2kb31oDFKYalhITtVLS/0wtLUwI5afo7ozu7/wlp/VKHEUO0?= =?us-ascii?Q?hAwN1rfsLiOZFesg8VfII7kzPrnAQOFkAZ+8z+UCzICDfNwQQjXu0gcgVpjf?= =?us-ascii?Q?K2d4vig0c0qLZaA5nzR4PW/P7Nbwbw/7eQasA/p6n4GQZnXvfKGXTKE6Qjxp?= =?us-ascii?Q?cEoufGV4hS8vNdPzd88KvraUrjhYVeD9MYLenqZJUyzk+L8PiEKwgN/Yvjbn?= =?us-ascii?Q?vRdM/9anDtKnIaVuuUxVMv6PFg1cyCAX/JeIoqnAOXTPXSayJw22owGivJQG?= =?us-ascii?Q?tuB2qtMGd+3wyCEKZK5D74Bm4/omm6X+Kw4KAXVNfqaYq98iiuqBGk10jwIb?= =?us-ascii?Q?nYcGE3wmxC5V4ehFldazL9XTVNRCKcZsnGN8AvmmhNy9iYyvS8qsypiwly5F?= =?us-ascii?Q?W2K9b+uII/2lwDZCE07LICU/lxyA/JgxGmErHLp+DaPyxdu1ONEuh4/aMFPS?= =?us-ascii?Q?+cu9L73LiCy4UlIePifDNdkKIwpO/DODeHzq/Y8TZj2uv6L0VZiWtYm1t/hl?= =?us-ascii?Q?pNPGP1UobTKtiDZQqQMup992eM768uhSi+ZAD1+pOgd94pa4UPoHNsKL562R?= =?us-ascii?Q?zndy6m7G+crudf3lbxQNfn3WQvR7HOZbHLWmLcEoNbfYl/YzLYwOSaHfmT7g?= =?us-ascii?Q?6c2byJMkoyYMUtV0AUEOhU0RvH8xO5dqidMbUeiiNmcLCzfmsXYlqhEMkg6C?= =?us-ascii?Q?zlq+NgWCgx5R2mm9MDTMU6xvJrd3ayhme+7TnjqGzYVxAI+MYkZFr9F42Uvd?= =?us-ascii?Q?ruqQ4Hqo2W5ldAQZpfXDAJYeNfF/4ER3oTlFmOPLwdeNvXBNyopliOdi1Ixa?= =?us-ascii?Q?BzCcIEiNDROu4oJOJG2mYF5IK18YFUrYfpd4N9xzRG+xLJMYysCCqKzZNAyH?= =?us-ascii?Q?XhinYMwnAlwG++VrgwCmuwjOxUvY9c8F4ZepGROVE/Lon1v2osHVkjMqHsEt?= =?us-ascii?Q?mMx27xmcW5IxI5cC59RsSScFigP60JxRujuSTl62QdKVrO42/dq9h3JAJqNc?= =?us-ascii?Q?UyAq7ixrMv2xDrp/jkQWfl5SFKrSMUEDMCai1OtSsJB/oYRpPZXS6ziNRiYW?= =?us-ascii?Q?GwmOoZX1fvOD4N2klY5o8FKjfoLDQwLXyonn8uexF7LHJEFK2US9C3OJuOn6?= =?us-ascii?Q?CSiXUAphr1+1ms8pqFak+YDIzw+LXznvkFeR6uNom2mLJ4P5sRw6YDa2F6dD?= =?us-ascii?Q?+JA6WYFBpyHMcN3vmDBcXkXxBzIf/6j9+FVTv2heFugLBU6J0PItats8xpp4?= =?us-ascii?Q?lOXo5ZQPOcvjOdw/MwCpEnVorVk2ybW6awpvWL6BMCiELdmDSO2o79U8KNNi?= =?us-ascii?Q?q4tZLdnnnJuqnQ9jXjYwWeNga0XXV7YGp6toaS6oD+wDTJP+iZ3UfVggwrRR?= =?us-ascii?Q?1bWPhsk5tNVYkuhtbtTHExPb574BKvxYq8WFelvx?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4086.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4fcddb0e-f773-4760-536f-08db472940fb X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Apr 2023 14:11:11.2221 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4TckGNkgJxGlhIitJMTg84Qbyqp14HxbNAsukxPL9eHDAgPQe7N1HgmV0VixHqhOdRZFuTlBqD80KrF287+DSzBxx03Y4c+RhRmozADxmVk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR18MB5258 X-Proofpoint-GUID: QfRQDaZSd9rEVg5an6-g4dQTrLUdieXC X-Proofpoint-ORIG-GUID: QfRQDaZSd9rEVg5an6-g4dQTrLUdieXC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-27_07,2023-04-27_01,2023-02-09_01 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 > -----Original Message----- > From: Zhirun Yan > Sent: Friday, March 31, 2023 9:33 AM > To: dev@dpdk.org; Jerin Jacob Kollanukkaran ; Kiran > Kumar Kokkilagadda ; Nithin Kumar Dabilpuram > ; stephen@networkplumber.org > Cc: cunming.liang@intel.com; haiyue.wang@intel.com; Zhirun Yan > > Subject: [EXT] [PATCH v5 02/15] graph: split graph worker into common and > default model >=20 > External Email >=20 > ---------------------------------------------------------------------- > To support multiple graph worker model, split graph into common > and default. Naming the current walk function as rte_graph_model_rtc > cause the default model is RTC(Run-to-completion). >=20 > Signed-off-by: Haiyue Wang > Signed-off-by: Cunming Liang > Signed-off-by: Zhirun Yan > --- > lib/graph/graph_pcap.c | 2 +- > lib/graph/graph_private.h | 2 +- > lib/graph/meson.build | 2 +- > lib/graph/rte_graph_model_rtc.h | 61 > +++++++++++++++++++++++++++++ > lib/graph/rte_graph_worker.h | 34 ++++++++++++++++ > lib/graph/rte_graph_worker_common.h | 57 --------------------------- > 6 files changed, 98 insertions(+), 60 deletions(-) > create mode 100644 lib/graph/rte_graph_model_rtc.h > create mode 100644 lib/graph/rte_graph_worker.h >=20 > diff --git a/lib/graph/graph_pcap.c b/lib/graph/graph_pcap.c > index 8a220370fa..6c43330029 100644 > --- a/lib/graph/graph_pcap.c > +++ b/lib/graph/graph_pcap.c > @@ -10,7 +10,7 @@ > #include > #include >=20 > -#include "rte_graph_worker_common.h" > +#include "rte_graph_worker.h" >=20 > #include "graph_pcap_private.h" >=20 > diff --git a/lib/graph/graph_private.h b/lib/graph/graph_private.h > index f08dbc7e9d..7d1b30b8ac 100644 > --- a/lib/graph/graph_private.h > +++ b/lib/graph/graph_private.h > @@ -12,7 +12,7 @@ > #include >=20 > #include "rte_graph.h" > -#include "rte_graph_worker_common.h" > +#include "rte_graph_worker.h" >=20 > extern int rte_graph_logtype; >=20 > diff --git a/lib/graph/meson.build b/lib/graph/meson.build > index 4e2b612ad3..3526d1b5d4 100644 > --- a/lib/graph/meson.build > +++ b/lib/graph/meson.build > @@ -16,6 +16,6 @@ sources =3D files( > 'graph_populate.c', > 'graph_pcap.c', > ) > -headers =3D files('rte_graph.h', 'rte_graph_worker_common.h') > +headers =3D files('rte_graph.h', 'rte_graph_worker.h') >=20 > deps +=3D ['eal', 'pcapng'] > diff --git a/lib/graph/rte_graph_model_rtc.h > b/lib/graph/rte_graph_model_rtc.h > new file mode 100644 > index 0000000000..665560f831 > --- /dev/null > +++ b/lib/graph/rte_graph_model_rtc.h > @@ -0,0 +1,61 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(C) 2023 Intel Corporation > + */ > + Please retain Marvell copyright too. > +#include "rte_graph_worker_common.h" > + > +/** > + * Perform graph walk on the circular buffer and invoke the process > function > + * of the nodes and collect the stats. > + * > + * @param graph > + * Graph pointer returned from rte_graph_lookup function. > + * > + * @see rte_graph_lookup() > + */ > +static inline void > +rte_graph_walk_rtc(struct rte_graph *graph) > +{ > + const rte_graph_off_t *cir_start =3D graph->cir_start; > + const rte_node_t mask =3D graph->cir_mask; > + uint32_t head =3D graph->head; > + struct rte_node *node; > + uint64_t start; > + uint16_t rc; > + void **objs; > + > + /* > + * Walk on the source node(s) ((cir_start - head) -> cir_start) and > then > + * on the pending streams (cir_start -> (cir_start + mask) -> cir_start= ) > + * in a circular buffer fashion. > + * > + * +-----+ <=3D cir_start - head [number of source nodes] > + * | | > + * | ... | <=3D source nodes > + * | | > + * +-----+ <=3D cir_start [head =3D 0] [tail =3D 0] > + * | | > + * | ... | <=3D pending streams > + * | | > + * +-----+ <=3D cir_start + mask > + */ > + while (likely(head !=3D graph->tail)) { > + node =3D (struct rte_node *)RTE_PTR_ADD(graph, > cir_start[(int32_t)head++]); > + RTE_ASSERT(node->fence =3D=3D RTE_GRAPH_FENCE); > + objs =3D node->objs; > + rte_prefetch0(objs); > + > + if (rte_graph_has_stats_feature()) { > + start =3D rte_rdtsc(); > + rc =3D node->process(graph, node, objs, node->idx); > + node->total_cycles +=3D rte_rdtsc() - start; > + node->total_calls++; > + node->total_objs +=3D rc; > + } else { > + node->process(graph, node, objs, node->idx); > + } > + node->idx =3D 0; > + head =3D likely((int32_t)head > 0) ? head & mask : > head; > + } > + graph->tail =3D 0; > +} > diff --git a/lib/graph/rte_graph_worker.h b/lib/graph/rte_graph_worker.h > new file mode 100644 > index 0000000000..7ea18ba80a > --- /dev/null > +++ b/lib/graph/rte_graph_worker.h > @@ -0,0 +1,34 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(C) 2023 Intel Corporation > + */ > + > +#ifndef _RTE_GRAPH_WORKER_H_ > +#define _RTE_GRAPH_WORKER_H_ > + > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +#include "rte_graph_model_rtc.h" > + > +/** > + * Perform graph walk on the circular buffer and invoke the process > function > + * of the nodes and collect the stats. > + * > + * @param graph > + * Graph pointer returned from rte_graph_lookup function. > + * > + * @see rte_graph_lookup() > + */ > +__rte_experimental > +static inline void > +rte_graph_walk(struct rte_graph *graph) > +{ > + rte_graph_walk_rtc(graph); > +} > + > +#ifdef __cplusplus > +} > +#endif > + > +#endif /* _RTE_GRAPH_WORKER_H_ */ > diff --git a/lib/graph/rte_graph_worker_common.h > b/lib/graph/rte_graph_worker_common.h > index 0bad2938f3..b58f8f6947 100644 > --- a/lib/graph/rte_graph_worker_common.h > +++ b/lib/graph/rte_graph_worker_common.h > @@ -128,63 +128,6 @@ __rte_experimental > void __rte_node_stream_alloc_size(struct rte_graph *graph, > struct rte_node *node, uint16_t req_size); >=20 > -/** > - * Perform graph walk on the circular buffer and invoke the process func= tion > - * of the nodes and collect the stats. > - * > - * @param graph > - * Graph pointer returned from rte_graph_lookup function. > - * > - * @see rte_graph_lookup() > - */ > -__rte_experimental > -static inline void > -rte_graph_walk(struct rte_graph *graph) > -{ > - const rte_graph_off_t *cir_start =3D graph->cir_start; > - const rte_node_t mask =3D graph->cir_mask; > - uint32_t head =3D graph->head; > - struct rte_node *node; > - uint64_t start; > - uint16_t rc; > - void **objs; > - > - /* > - * Walk on the source node(s) ((cir_start - head) -> cir_start) and > then > - * on the pending streams (cir_start -> (cir_start + mask) -> cir_start= ) > - * in a circular buffer fashion. > - * > - * +-----+ <=3D cir_start - head [number of source nodes] > - * | | > - * | ... | <=3D source nodes > - * | | > - * +-----+ <=3D cir_start [head =3D 0] [tail =3D 0] > - * | | > - * | ... | <=3D pending streams > - * | | > - * +-----+ <=3D cir_start + mask > - */ > - while (likely(head !=3D graph->tail)) { > - node =3D (struct rte_node *)RTE_PTR_ADD(graph, > cir_start[(int32_t)head++]); > - RTE_ASSERT(node->fence =3D=3D RTE_GRAPH_FENCE); > - objs =3D node->objs; > - rte_prefetch0(objs); > - > - if (rte_graph_has_stats_feature()) { > - start =3D rte_rdtsc(); > - rc =3D node->process(graph, node, objs, node->idx); > - node->total_cycles +=3D rte_rdtsc() - start; > - node->total_calls++; > - node->total_objs +=3D rc; > - } else { > - node->process(graph, node, objs, node->idx); > - } > - node->idx =3D 0; > - head =3D likely((int32_t)head > 0) ? head & mask : head; > - } > - graph->tail =3D 0; > -} > - > /* Fast path helper functions */ >=20 > /** > -- > 2.37.2