From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: Solarflare PMD submission question Date: Fri, 28 Oct 2016 14:33:56 +0200 Message-ID: <1838661.tWJoShD1UF@xps13> References: <7987614.kmGMHz0qWb@xps13> <2de43e28-37f8-86f5-b45f-2e598137b3dc@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Andrew Rybchenko Return-path: Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by dpdk.org (Postfix) with ESMTP id 92E0D2A5F for ; Fri, 28 Oct 2016 14:33:58 +0200 (CEST) Received: by mail-wm0-f53.google.com with SMTP id p190so7132775wmp.1 for ; Fri, 28 Oct 2016 05:33:58 -0700 (PDT) In-Reply-To: <2de43e28-37f8-86f5-b45f-2e598137b3dc@solarflare.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-10-28 13:50, Andrew Rybchenko: > First of all I'd like to double check that it is clear that we discuss > libefx > (base driver in terms of DPDK) import here. The PMD itself is already split > in 20+ patches. I don't know libefx. In DPDK, a base driver is often a subdirectory inside the PMD. Will it be the case? > The only thing which comes to my mind is to split libefx import on subsystem > basis (few files per subsystem). It is artificial and added files will > be abandoned > until the patch which adds them into build. It could be something like: > 1. External interfaces definition > 2. Internal interfaces definition > 3. Registers definition (hardware interface) > 4. Management CPU interface definition (it is one file, but still big > 650K) > 5. Management CPU interface implementation > and so on for NIC global controls, interrupts, event queue, transmit, > receive, > filtering etc. Yes it is artificial. The most valuable would be a transversal logical split, kind of feature per feature, in order to explain how the device works. Such commit is also the opportunity to explain acronyms and so on. > > It would be also really appreciated to provide a design documentation > > in doc/guides/nics. Are the datasheets open? A link in the doc would help. > > We have a documentation which grows together with supported features, > but it is rather for users. Important design decisions (not so many) are > documented nearby corresponding code. Unfortunately there is no open > datasheets. Management CPU interface definition has comments. Without neither a datasheet, nor a comprehensive code introduction, it is almost impossible to dive in your code. So it misses the point about bringing it to an Open Source project. Please do the the effort to bring some knowledge to the community. Thanks