From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by dpdk.org (Postfix) with ESMTP id 45CCF5683 for ; Wed, 4 Mar 2015 12:30:33 +0100 (CET) Received: by wivz2 with SMTP id z2so10546589wiv.0 for ; Wed, 04 Mar 2015 03:30:33 -0800 (PST) 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:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=pAGkeFo1Rv0uWjs2/oasbM30wkyBcWGsENQ1hMUD8Go=; b=PIwwqf6YuXPdqrvUnhamhceQkREdc8YerL6sRJWPeOoiTCghZGPP0MmjIQtBlP0uF8 UhNq7Fm/U3vySz6U/BMY/URe12osGxbExinQ5xmA4s0SUPjah2NEwDImdm/snN1vlUEH h3/CJ/9KbCp16UHygN6Ok/dbQA3tFwtjhREs2d8sxpNFRigeY7tSYr7o/8WIzWtx/wuZ NAdSkoow1osEn5t3IUevp6hHBniu4c0yz8KWn2nZUFtihiGd7o4055uvR+pczKgV1hSI RS9HmlBE3FK4rOv59FKS8ApakrdRqlAfZVLSL03jWbUzIYKKDmQcS2jXQxruZd392Cu9 JXWA== X-Gm-Message-State: ALoCoQmYbXUxrNUC4TEbqx+3n0GMprpiWUapP4Op6I87UcSjUmK9S4NNghul0UVovjehiH0VJAFs X-Received: by 10.180.198.78 with SMTP id ja14mr11882876wic.11.1425468633115; Wed, 04 Mar 2015 03:30:33 -0800 (PST) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id lx10sm5546956wjb.17.2015.03.04.03.30.32 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Mar 2015 03:30:32 -0800 (PST) From: Thomas Monjalon To: Panu Matilainen Date: Wed, 04 Mar 2015 12:29:59 +0100 Message-ID: <2095402.e6QA95UZ5Q@xps13> Organization: 6WIND User-Agent: KMail/4.14.4 (Linux/3.18.4-1-ARCH; KDE/4.14.4; x86_64; ; ) In-Reply-To: <54F6E6E3.50404@redhat.com> References: <1534932.rt5IAT3UZl@xps13> <54F6E6E3.50404@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] config: default to shared library 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: Wed, 04 Mar 2015 11:30:33 -0000 2015-03-04 13:05, Panu Matilainen: > On 03/04/2015 11:24 AM, Thomas Monjalon wrote: > > Hi Panu, > > > > 2015-03-04 08:17, Panu Matilainen: > >> With symbol versioning its vital that developers test their code in > >> shared library mode, otherwise we'll be playing "add the forgotten > >> symbol export" from here to eternity. > > > > Yes we must improve the sanity checks. > > A lot of options must be tested (or removed) and not only shared libs. > > But the error you reported before (missing export of rte_eth_dev_release_port) > > cannot be seen even with this patch. > > I know, I didn't say it would have directly caught it. It would've > likely been found earlier though, if nothing else then in testing of the > new librte_pmd_null which clearly nobody had tried in shared lib > configuration. Exactly, there was no test in shared lib mode. Then I recommend having a basic testpmd trial which should be easy with PMD null. Any script to ease this test is welcome. > > It means we need more tools. > > Though, default configuration is not a tool. > > Yes, default config is not a tool, its a recommendation of sorts both > for developers and users. It also tends to be the setup that is rarely > broken because it happens to get the most testing :) > > > > >> By defaulting to shared we should catch more of these cases early, > >> but without taking away anybodys ability to build static. > > > > Shared libraries are convenient for distributions but have a performance > > impact. I think that static build must remain the default choice. > > For distros, this is not a matter of *convenience*, its the only > technically feasible choice. "only" is a religious word here :) We could imagine an automatic rebuild of DPDK applications when DPDK is updated. But it's not the topic :) > I didn't want to make the commit message into a shared library sermon, > but if you look at the OSS landscape overall the common wisdom is that > shared library benefits outweigh any performance impact by so much that > static libs are almost nowhere to be found. I can change the text into a > full-blown rationale why shared libraries should be the default if that > makes any difference. No, as Bruce agreed, it's better to keep static as default, because DPDK is performance-oriented. I agree we really have a problem with tests and I'd prefer we solve it by adding some scripts. I'm currently thinking about which scripts to add, like building different configurations. Then the second step will be to automate the launch of these scripts to catch wrong submissions earlier. Maybe that something like patchew (http://qemu.patchew.org) could help for the second step (thanks David for the tip).