From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) by dpdk.org (Postfix) with ESMTP id 7EB285595 for ; Fri, 15 Jul 2016 15:19:16 +0200 (CEST) Received: by mail-wm0-f41.google.com with SMTP id i5so29683691wmg.0 for ; Fri, 15 Jul 2016 06:19:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:user-agent:in-reply-to :references:mime-version:content-transfer-encoding; bh=q2is/LoQVd4ceswKA7NDYD56pAFAC5WzBIBj+p9gcN4=; b=OnJ/I6iAuEElFtYQIaX5eQQXXIiqnZDC4MC9QbgdjmD4+GaeWohVg2zRstB+GTiLlr DLfv4BL47nP14jhsBjDHzl5oI1Bs6Bc5Jy3PHo5X6/1FJSNdF07BHnQXzFXlfARywiKc MWmkAyTXh0noAdR9/sS1VrpnNkGzhQo9B7ynjIA5PK2PMM+jrhJTEeuKOJPdpV402l8g rVjkOje0rKzRAchLF5BZ/Z8HvEUqg1CEDfYkpGOw8b5Bt5PhQbaWkuPRtE03urUWCeY6 /6QSPNcOAlV7RhRtzDULqKY2cRDIKdrJqMjqMIx8oCYmG3i+0lkc2e5Rhags/se80MfE pdSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:user-agent :in-reply-to:references:mime-version:content-transfer-encoding; bh=q2is/LoQVd4ceswKA7NDYD56pAFAC5WzBIBj+p9gcN4=; b=SLOO/3XejDfFqVf+wcBu6/LIKCwh5on1KliE8ARGLJt4GszBWcB43f2+54CsONR0oD PZNfsx7Y/Kpq7ccPZ6oIH4YcqElFlfEx5OlMjxDSoFl752tzKdyhnQQHKZ3v1tZ/HcZy L2rxAaxlEix1rw9tpIOFT+MB0h/v3W5L+JGL+kBVWUzyQSqsxW46Evt2+Iued6HXLu/V WEgCAlqD8Y+xQ8Gkon3nu9iUg5xFOdewvpz81K5gwbkQVluUus8GV8UfZs0rStdfAH6a XeLlS9lzvNg0pfSn26lSWT4qrAKe+UD8RQGD3DpfcyEgfbhwRSYSSlqYCDhOgIgIdXKx jlnw== X-Gm-Message-State: ALyK8tLVxxhSPTlcQnRMnVYVXpuCvzXBbGCwTAe0b/0UQHrGbqnGYjUvKeQ+bRr04Vmm0bat X-Received: by 10.28.0.203 with SMTP id 194mr18468098wma.29.1468588756233; Fri, 15 Jul 2016 06:19:16 -0700 (PDT) Received: from xps13.localnet (184.203.134.77.rev.sfr.net. [77.134.203.184]) by smtp.gmail.com with ESMTPSA id yr1sm734024wjc.3.2016.07.15.06.19.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 Jul 2016 06:19:15 -0700 (PDT) From: Thomas Monjalon To: Jan Viktorin , Shreyansh Jain , David Marchand Cc: dev@dpdk.org Date: Fri, 15 Jul 2016 15:19:14 +0200 Message-ID: <1803983.1lZj4rVXKI@xps13> User-Agent: KMail/4.14.10 (Linux/4.5.4-1-ARCH; KDE/4.14.11; x86_64; ; ) In-Reply-To: <20160708190945.24225-1-viktorin@rehivetech.com> References: <20160708190945.24225-1-viktorin@rehivetech.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH v1 00/15] rte_driver/device infrastructure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2016 13:19:16 -0000 2016-07-08 21:09, Jan Viktorin: > Hello, > > based on the discussions with Shreyansh, I propose a patchset with > the important EAL changes. It is incomplete and I suppose to extend > and change certain things in the foreseeable future. > > Important notes: > > * pmd_type is removed > * introduced rte_vdev_driver inheriting rte_driver > * PMD_REGISTER_DRIVER is replaced by RTE_EAL_VDRV_REGISTER > * rte_driver/device integrated into rte_pci_driver/device > * all drivers and devices are in 2 lists - general and bus-specific > > Shreyansh, I hope I do not duplicate your work. I tried to avoid touching > pmd_type but it quite complicated... There is also an initial generalization > of rte_pci_resource. More such generalizations are to be done. > > The init/uninit functions cannot be generalized easily, I think. Both PCI > and VDEV have different requirements. > > No idea about hotplug... Please could you give a clear overview of how you split the work in your respective series? I take the opportunity to put my notes about some initial targets of this refactoring: module/drivers attached to 1 bus: pci_driver or vdev_driver rte_device = device resources / embedded in pci/vdev_driver attached to n device interfaces (ethdev, crypto) 1 device resource -> n device interfaces hotplug resource -> lookup drivers list per-bus lists or 1 list? devinit/devuninit generalized and moved to rte_driver -> rename to probe/remove crypto.dev_type could be dropped drv_flags should be moved to rte_driver intr_init can be moved earlier in init, before affinity set devices unique_device_name -> standard naming? difference with port_id ? -> device id for ethdev should be unique_resource_name -> 1 EAL resource may match several devices ethdev manage an interface, eal manage a hardware resource, device object in between? need for bus object? no need of driver object, module object? devargs, intr_handle, numa_node should be moved to rte_device hotplug notification to do notify free-able ressource? remove blacklist at EAL level and let application handle it devargs still in hotplug function, must be moved in separate API devargs new API new command line parameters