From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0073.outbound.protection.outlook.com [104.47.40.73]) by dpdk.org (Postfix) with ESMTP id CAC0110CC9 for ; Thu, 22 Dec 2016 06:49:22 +0100 (CET) Received: from BN6PR03CA0036.namprd03.prod.outlook.com (10.175.124.22) by DM5PR03MB2475.namprd03.prod.outlook.com (10.168.233.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14; Thu, 22 Dec 2016 05:49:20 +0000 Received: from BN1BFFO11FD040.protection.gbl (2a01:111:f400:7c10::1:148) by BN6PR03CA0036.outlook.office365.com (2603:10b6:404:10c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14 via Frontend Transport; Thu, 22 Dec 2016 05:49:20 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; networkplumber.org; dkim=none (message not signed) header.d=none; networkplumber.org; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD040.mail.protection.outlook.com (10.58.144.103) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.789.10 via Frontend Transport; Thu, 22 Dec 2016 05:49:20 +0000 Received: from [10.232.14.87] ([10.232.14.87]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uBM5nF3n021966; Wed, 21 Dec 2016 22:49:16 -0700 To: Stephen Hemminger , Jan Blunck References: <1481636232-2300-1-git-send-email-shreyansh.jain@nxp.com> <1481893853-31790-1-git-send-email-shreyansh.jain@nxp.com> <1481893853-31790-3-git-send-email-shreyansh.jain@nxp.com> <20161220091156.4442cb07@xeon-e3> <20161221153334.2b04f732@xeon-e3> CC: , David Marchand , Thomas Monjalon , Ferruh Yigit , From: Shreyansh Jain Message-ID: <62f693e5-90c8-87c0-184e-3842e38bced5@nxp.com> Date: Thu, 22 Dec 2016 11:22:54 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131268593608464387; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7916002)(39410400002)(39400400002)(39840400002)(39850400002)(39380400002)(39860400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(24454002)(199003)(377454003)(189002)(83506001)(105606002)(356003)(31696002)(305945005)(104016004)(77096006)(31686004)(85426001)(5001770100001)(97736004)(50466002)(38730400001)(229853002)(8676002)(81156014)(81166006)(86362001)(64126003)(4001350100001)(23746002)(8936002)(92566002)(68736007)(50986999)(54356999)(47776003)(65956001)(65806001)(36756003)(106466001)(5660300001)(626004)(65826007)(2906002)(6666003)(4326007)(93886004)(2950100002)(189998001)(76176999)(230700001)(33646002)(69596002)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2475; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD040; 1:sFHYDuhx8PSWK/cxqqRaeAKKWfc2VlQa/mdXcvHD2itH/HScu5MabouCX+dFVgpBPJ7yTLZruxAi8amoUA6NOJ1j+IJlf6j69Yl09K8Tpvl6iHFJSjeSrqSuDRnWciErS7ojF9ywlZnkcGeatwaI70Be5cLiUX2PJigIIYMXgT2Oj6RSPOcLIcRJv23o/vDK00CHL7V4ENRShaAkUz/P99e18RC0uyUaQpAM+OcIxheF69Rbm+hA6lvyxqAJzQ+Y8Zghq+IHRjZ0gkNe6NmOgRZkOHLo0R7sVjFKX22p5taKG77j1bevmFLw908MvhxiXetm7JySuIRBfukAq8DtMXxClpRGpBFtV1acbQYp4zHZv3UNKjirlXiHQLE5zmuHFer+wXBGxXJHCVMucHL84z2KW0bFvGNABMFgrfzr9l5BLGqb7VrgLbwJEZNnSfe3Q5J14FH+CodZWsoHPNkJGxKbKTsBpFVb4Ckhmrc7uDIYcg0YYxRoCYNGXCuBJnB65b1AUO2pLFEoRDHEHesEIADqmeHupTTZWIOErsqOFjnr3by4baK1GbKbkyvBFOrgHD6KwBopwrbyJD8QTNhnNEcj3/9Vajdzf6na69NpWN+ZU+0mUoyHKP8/VtFflPxa88ARs/r4eDwakXWIwtP7MA== X-MS-Office365-Filtering-Correlation-Id: 9ff98323-0981-445a-8d1b-08d42a2e4696 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM5PR03MB2475; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 3:Lew48nb4vegOFmScpIdZ/i23D8EZJSLcTdxS8yRvMKL8RsWq2pOwr40M0CbbhgD21WTcDGyba16Y0LaINH0nS/JY0oAfA53vzmcxkkJwM6nS2SiPUWIXLxFJRg3LEG84CX5oxhGMZyf8c1g5y/Kp3KaUEYYwiiEJMq9eeOWP9A/e4uEeTxmeZOr9364WmW4pMzC+YkD2BRfG9vxjC56ZJ9yi5v9r7FCKCaFslXsTZW97pvRcf5gsT05XmTs9iSvfLWaNBZLNSEL0KluhGP5EekLLhTG6HB1475Hs1NRS6FO4dbS32pFtX2uvutHk9qLc5nDanx5mBKG6eYC+RH7BeginfpvVuyonM6eESkK7353dYpfX29Vqj6huQbv0v262 X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 25:3ueBeqzmGCIHO2n9YXfCLl7E8M15+r0NVVRKv9EYYvVjRE/GUQoosc1FkEk7aHdZdOVKqqzqGYwLABMN954WQmrEwBcgKNaAzmBvqOrzVGuKi26MeoI9i6hQKcZCz4OxI1S29qv4h/TPj+iovdEPgOvWNs/T2Ho81X96DsnfqwxYglWvTb4rY0qz345Nil/5OmtAS3iQh4zdVrbTw/X1/ATOlxUZ96847PtgLt+nJoxa1dMZe7PuyltJ90KwELYBqIxawqPOQ/gnCEDah/Nm2SCjMKijpZ9z4ljXLJAwJiEC1s7oyBwO39Gys1D6+oe2EVnOMrIqUkL1o7mX0dw0XfL+pu1RiT/59rxnygCyj/BNsLSopkQ7k5wJv0JgytloXXb5h8yqpT8NhKfsBhliyrVu1jmYTHweHhBXUbc5Gn/9uLPRh6qAlPuBLwGC9RehcQkU7JdGyazkAUB7ZzlYN4BTTPQB84PIkq3tKTlNQYc/EtEUwXZR00XavFZNIfxNygtrTWRtxNSw4W/JTL/D/ztfKpdUnRBf9YUE6yBc/G8ARiCSYuXQGTzY4zyzFSQdpRexdGdHvvQlwogtoUYo5Bp9ncv3GksG/ltUyldDG04wIw2rorb0qWsdYH1RKuxY0KfOSo3CvVJ3lkV5qoDEQPIZobaTORTPNWbx6zv/PHIJ1OtlUWo3jzJDTVgjMdTgHZs3YGm/5NVVpHduL/hxE6k8Iw7GtCoxxjva5Z2XaMVLC0QTauS+wi8klAKr74S1Hmm4PejwcAGrsujDarI69A== X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 31:YyhRxYM3YQAOrJQqPPruxhp4yThkeWAofbfKWO0s5lsAdaX9CWBxACErQVcZen+eIt1Vl3CIeRhcvWUl/MNN+VtD/3Fc/e9LysEvnNJRm7GP79dp9cNQgWjfpO6grvC9wHO18xlNrbln4WqYSLYxyu3LkTKCOqMC2JzBuTdP5EHw6AKT4Iiqkp5GUGtsb/RGXO7kCCqwIUH8CubONjlkg3RbVL5Y/7trUimrVECg+VFDfzzf6jlgT5MHLY8GfKz7sQ30hjXW5Fw+lv2gAZQSaSh/afwDdOzMNVXeqYrP054= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13023025)(13024025)(13017025)(13018025)(5005006)(13015025)(8121501046)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123563025)(20161123565025)(20161123556025)(20161123559025); SRVR:DM5PR03MB2475; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2475; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 4:ab3P9pLJofOCRzf8qIBM8RP3KsIdXonIYChkc9OaInRdWcXRktu2qv8MDBKNeh9NtmOjeHkaIJoCHU2AX5HSItAOZmA191qPfrJCZidgUmvno5KmkT+T4+ZQkTJY82CfuciPsSEGl6VxxVW6Pi3FECVksHWgHLvXeAB723sKOMDB8pr4BHvry2tx+JzpPalTcPy77hEhWQl1bimmx9rHNAjguAXIwKoGWshcqCOFDn73h6qdLhW+mcFo5XvmgJ0va3ZXviPsamcKHU1n/wE719t2PtdIZzSkhWxLtLPHZ6aKtnz5CacTG1CMTZUNpNURR9l08hNKnK/tKOYcIJY6aOZ6a+Nn4wQ3jrR8u7GSROxNnGnLPL8OiPeWZTo94MQVXO9NqvWuKiMhdTNd0b7e4YZis+Vc93DDTk7RF68YCDT2zAIU6wb5hUn5C/36J2RR+pb6bgiadQ0stcmwGZ2nUcVX2ZiRKAiEZjaM0KZHJYZv/Yb2o90Hysf1CV2o94/esedC0SdpipLHwj1G37Q03sW4K0ffpFrHLABf4m8iK9TqhsCCqz+Ufyn5NKqKonllEAQ8Jh85Ykzy3aVFzyFucas+YK2lvtsJF81Dec99bT/2oT8ujVZ+IzKKEfwm5FUigFyd4f7qtNWkmWTBluxol20e5b3c4kqVy4hvIA4Vlpe9pFTcGFdX7tqoMGzlRVjHICOJnRZg5+4Xow4GIiV4dTCMe3rV/FyEz7O6Xpni+OE1g+MqLVjMTYHIBZB9zSkk X-Forefront-PRVS: 01644DCF4A X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; DM5PR03MB2475; 23:phof3MWzOMflHNSoPnYlXqoQ6MGJshRZEp3yP?= =?Windows-1252?Q?4/CZqKGOBVlh/QoTDhsa8/4ofxs8rhtMJkXth5HX6gKkywThOcZoFKpe?= =?Windows-1252?Q?s/U6aK9df9md+YGDJVuWbLdReTfb2jkE/zvAu5EO8F2n4FnlFXj+ToeR?= =?Windows-1252?Q?pZihZCT0DQETBbgeS9e403TBDCl07KkNQIONYvIq1Lk5dtFbwCLfA0IB?= =?Windows-1252?Q?Ld6UTeyvXqojttACiqArkmSJ17rCxtrSgYvsPXI4Zeewikh9nRYCQ7Mj?= =?Windows-1252?Q?MKYAphq6TxzRXAMbVIKG4lvOMOyr1fo0Ns6P16SLA/Dzowuz53Af5awC?= =?Windows-1252?Q?IwM5Ln31D2wXwtPgpP613OcTHU9+Yauo4IZqV0ob4bKaHqfT4Nx9L8Sn?= =?Windows-1252?Q?Cq63nzeahCuoU3kV0XPWEAGSEGtJ7bxBFdSEqtQqhPDmFZ8FYJBvkzLr?= =?Windows-1252?Q?cMhn/XkR6kxtncAUfLrYraJR28p/XnFUkiM6STasv4maHEifuyx2sjwY?= =?Windows-1252?Q?lDbvQ5NW6vBqHuaPq/NbLB5DT+a1iusTBroSKcUvPz4fJegMvgh+8bO7?= =?Windows-1252?Q?iyGT3AWn+byHuErMDd9EK2vjehOU1DrFEF9nuuoQHBUpU+/oxjxxeGeu?= =?Windows-1252?Q?l3RL3lYxUqSvJg9SvypP7xPE25Qu83SsG0tEmcYzCf9HgBEKOB+WfFvQ?= =?Windows-1252?Q?sFZxqHcxhZn6S8nZF17OHgMWyux2vLy5KyFUTlTqp8kb7I/q7H/wYb8B?= =?Windows-1252?Q?XYQjCTqhibZBHTxRKejnn7NdImEcj1zL7sC0+aexCG0YGwUCKFAeOOpS?= =?Windows-1252?Q?xYBXLc4Fv3q4IFAAEooVuzVRUH6nqLPM8IT6u9hGiekM8VQ+csdhnhCi?= =?Windows-1252?Q?jtEichiErZstjVmg4O25UKs9EpyHPovrbzTlvOw/IAYPr9qSUjnsdMnN?= =?Windows-1252?Q?hHq0ezWz1C1FxBxOrNVbKIuMAC5c7MQmuQA3XTRHcEXlZ+sgcUs3kYw6?= =?Windows-1252?Q?xAPzExSaHdXtpEAwPjhRb8E3pdJOS0lrHcecd6uBXrwyt0ekRAjK/lw7?= =?Windows-1252?Q?+rydcQrp9sgqgooaaAvcqQvCrb9T5sv4+pTgaazjMPis/o/hRzoNc39O?= =?Windows-1252?Q?AxRfDJdyN24zjVEHIInFI0Y2fLe+fzLqzsiPwupZBgVOxMRH8qTswLIz?= =?Windows-1252?Q?AZQRX469+6dPothYhN0Ez6KYdN8fbyINf9wogY27vohDbwYsEAx29zcw?= =?Windows-1252?Q?PrNZBUhtM8Cq5Xd+xlZPf3JzN8lo++bNSKDtZaSyKj2q8bKiyQo5sjKv?= =?Windows-1252?Q?wmjjt6P7gopxllq0+hojVHHU5U+2+xeDCpm5Lp2tRxtudApzWCSpzpBC?= =?Windows-1252?Q?t9kcInHH2cDy68LL5ruOERq/rCSQroSFbchTVsctzQfmmxMbBoiVcCqQ?= =?Windows-1252?Q?ht+AGntFFuI6zikp7hsyYGfjF45AjUbFXr1ZdnFKgCzgytpI0WLzLTFP?= =?Windows-1252?Q?moGXTrExRw7r6j88L7fWtiB+3Gku/g8pLSIPj5gijHBRsxXWvtzD9ACC?= =?Windows-1252?Q?qNs3XNbGHIdTJ9ZlVnNznaLuyeVenhQwMRc4DNQkR3mGH9ungRkE8Z52?= =?Windows-1252?Q?G+57MQD8RSHryx0QuCO3weq40B2he3CZq/p0Ct4oMt/?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 6:JALZMSTyIY+n8+jtwGI4jzoQGw6o1GX2zZaZluHvq8Uiacu2O4UF0KWoWnMAxRdoO+R4VQ5Pkl7pQD83ZSNp/MSTPf3mzkBhntd3Z/++VR2isMlv7xPKyvzdy3DIasGNNjaGUhJIDjmYmvOU/V6McA5KB2LT5XcGBfS3e91bT2T81Q3bFT3Ikta3yF9YlUSQs+qJpH+PzGftx34eST3BAEwa8ZgyV20adgAqlVDl+V6DT7oXko+2M2tjO7Z8edbcgTop7BGT34dc3VyDygW6AH4MPJ1aEPGiMxXFRE/+HPTUtQKB5RtWvBpzXwYqvDkeGQORA/q3WSMhXS5UvgSRuDQt5cCqmV5JxvWMk6qa2u/hjMb/KnRHrD4CqodftvuX7De2BIIJ8du7K9N2tp+WLiWVmknVutqa2L4aYh584V6Z3VBtXLH3VT+CLzMmmZ+Q; 5:/IYNoZfNIKIPY2AYO9Z4HJDbzSUJ5uZzrwGCxAj6/8ekjr/1uUNEUIK2bgEerw3bFNd7W22YTLYL8iYFry4nwWH9lUiDe4i/VeRckEz1sd8jJ3ewRFRgiAwuW1UG3/CDGMoc5qvlK5EMbc639Vcmx6kOx91DC7oiQGpDuzOqvhWHS+qw7A5MMKfvsUihhbxK; 24:ZkBfmP0BmxdBHndqDES9yv0psRqkTrV0w1LajW6G74SneOTPHqsWCGSTwrvJnWpusH3Q8ASPgg11G907HCWxS9uwh+HlZodqwvCvEhmLRJg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 7:7w4j5+8oSZ3SRbPZ3DbMABoFBBjy4/n6JPSOXRdIM6bwKM+EOse3+D1X7UNAlU6Ogs4vrve+R8roX/3wLCQcpqAyMfYCyJQbQmuHk080fPrR4XeUaLGb2aIcx9BcRc38S0QT8X+ntyZ9e7j0bFPqN+sBFRFYreRAzhpjc97i3vFmZMJUlVHePoEpYhswkjKD8bNW8CSXzKk5Zn7lYpr8qRRkDV/60KOHWykZBBsw77RT8xD2hIyfRyz8IEnFSs8kbTFEOoWD8M8DEQ+vKwsjOl6eD+YptVAyrowA1FbnkBIuvvxOCup2vxAXyv9r3osrrF0W7M8xzr54DC34jRFGYIVHkWVZqlht/vv299a9W+KP93Xx8lCfMRdC4137ltUwGk4/AKuVZnTIwQKN4h2LYDrX/AzBpyRFBXc0iEkdnNTkRLIwWoMhnODBEgQckMm6pacL+/DFtGWUGhlN/3zdXQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2016 05:49:20.4252 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2475 Subject: Re: [dpdk-dev] [PATCH v3 02/12] eal/bus: introduce bus abstraction X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Dec 2016 05:49:23 -0000 On Thursday 22 December 2016 10:42 AM, Shreyansh Jain wrote: > On Thursday 22 December 2016 05:03 AM, Stephen Hemminger wrote: >> On Wed, 21 Dec 2016 16:38:42 +0100 >> Jan Blunck wrote: >> >>> On Tue, Dec 20, 2016 at 6:11 PM, Stephen Hemminger >>> wrote: >>>> On Tue, 20 Dec 2016 14:17:14 +0100 >>>> Jan Blunck wrote: >>>> >>>>> On Fri, Dec 16, 2016 at 2:10 PM, Shreyansh Jain >>>>> wrote: >>>>>> This patch introduces the rte_bus abstraction for devices and >>>>>> drivers in >>>>>> EAL framework. The model is: >>>>>> - One or more buses are connected to a CPU (or core) >>>>>> - One or more devices are conneted to a Bus >>>>>> - Drivers are running instances which manage one or more devices >>>>>> - Bus is responsible for identifying devices (and interrupt >>>>>> propogation) >>>>>> - Driver is responsible for initializing the device >>>>>> >>>>>> This patch adds a 'rte_bus' class which rte_driver and rte_device >>>>>> refer. >>>>>> This way, each device (rte_xxx_device) would have reference to the >>>>>> bus >>>>>> it is based on. As well as, each driver (rte_xxx_driver) would >>>>>> have link >>>>>> to the bus and devices on it for servicing. >>>>>> >>>>>> __ rte_bus_list >>>>>> / >>>>>> +----------'---+ >>>>>> |rte_bus | >>>>>> | driver_list------> List of rte_bus specific >>>>>> | device_list---- devices >>>>>> | | `-> List of rte_bus associated >>>>>> | | drivers >>>>>> +--|------|----+ >>>>>> _________/ \_________ >>>>>> +--------/----+ +-\---------------+ >>>>>> |rte_device | |rte_driver | >>>>>> | rte_bus | | rte_bus | >>>>>> | rte_driver | | ... | >>>>>> | ... | +---------...-----+ >>>>>> | | ||| >>>>>> +---||--------+ ||| >>>>>> || ||| >>>>>> | \ \\\ >>>>>> | \_____________ \\\ >>>>>> | \ ||| >>>>>> +------|---------+ +----|----------+ ||| >>>>>> |rte_pci_device | |rte_xxx_device | ||| >>>>>> | .... | | .... | ||| >>>>>> +----------------+ +---------------+ / | \ >>>>>> / | \ >>>>>> _____________________/ / \ >>>>>> / ___/ \ >>>>>> +-------------'--+ +------------'---+ >>>>>> +--'------------+ >>>>>> |rte_pci_driver | |rte_vdev_driver | >>>>>> |rte_xxx_driver | >>>>>> | .... | | .... | | >>>>>> .... | >>>>>> +----------------+ +----------------+ >>>>>> +---------------+ >>>>>> >>>>>> This patch only enables the bus references on rte_driver and >>>>>> rte_driver. >>>>>> EAL wide global device and driver list continue to exist until an >>>>>> instance >>>>>> of bus is added in subsequent patches. >>>>>> >>>>>> This patch also introduces RTE_REGISTER_BUS macro on the lines of >>>>>> RTE_PMD_REGISTER_XXX. Key difference is that the constructor >>>>>> priority has >>>>>> been explicitly set to 101 so as to execute bus registration >>>>>> before PMD. >>>>>> >>>>>> Signed-off-by: Shreyansh Jain >>>>>> >>>> >>>> Ok, but let's keep this as bus type not bus. It gets really hard and >>>> complex >>>> to enumerate all layers of PCI bus and bridges. >>> >>> As far as I understand it this isn't the intention to replicate the >>> hierarchy of buses we have in the kernel. The PCI bus in this case >>> becomes a list of PCI devices. >> >> One of the motivations seems to be "lets be able to handle lots of >> devices", >> but the current model with an array of ports is not going to scale >> well for that. >> >> It is time to make rte_eth_devices into rb-tree and get rid of >> MAX_PORTS config >> option. >> > > That is a nice idea. Probably once we get the EAL compatible for 'lots > of devices', this would be next good change. Just out of curiosity - I think only need here is to do away with 'MAX_PORTS'. There is no need for a 'fast' lookup of ports as this part wouldn't be part of datapath. Am I wrong in assuming this? > > - > Shreyansh > >