From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: New driver (large patch) question. Date: Wed, 2 Mar 2016 23:43:28 +0000 Message-ID: <20160302234327.GC10724@bricha3-MOBL3> References: <2110917.95LWFiBeeK@xps13> <20160302082450.6f64cf8e@xeon-e3> <56D77229.1080100@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org To: Vincent JARDIN Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id D462F2986 for ; Thu, 3 Mar 2016 00:43:31 +0100 (CET) Content-Disposition: inline In-Reply-To: <56D77229.1080100@6wind.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" On Thu, Mar 03, 2016 at 12:07:21AM +0100, Vincent JARDIN wrote: > Please, >=20 > Le 02/03/2016 22:30, Stephen Hurd a =E9crit : > >Too many of the DPDK drivers are bloated. > >>Recall the venerable paraphrase of Pascal, "I made this so long becau= se I > >>did not have time to make it shorter." > >>https://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn%27t_read >=20 > Keep In Simple, Small Is Beautiful, the big drivers with dead codes are= not > easy to be maintained. We have lot of duplication of efforts between th= e > kernel and some DPDK PMDs, >=20 > Currently, the breakdown of Lines of Codes of the PMDs are: >=20 > 492 ring > 522 null > 666 af_packet > 829 pcap > 1229 szedata2 > 1300 mpipe > 1411 xenvirt > 2036 nfp > 2260 vmxnet3 > 3074 virtio > 4129 mlx4 > 4205 bonding > 4524 mlx5 > 4904 enic > 7654 cxgbe > 7969 fm10k > 27862 ixgbe > 29209 e1000 > 31392 i40e > 38031 bnx2x >=20 > (I did use cloc). >=20 > Vincent Hi Vincent, I think most of us would wholehearted agree with the "small is beautiful" sentiment. However, I disagree with the assumption that these counts reflect the mai= ntenance burden of these drivers. The Intel drivers, as do some others, use a "bas= e code" model, where there is a set of code shared between various platforms. Thi= s code should not be included in the maintenance calculation since it is explici= tly not being maintained by the DPDK project itself. A better metric of the overh= ead of the various drivers would be the LOC count excluding any base code. Now, if you are considering the code size for compilation time, or releas= e package sizing - then it's a fair metric! :-) Regards, /Bruce