All of lore.kernel.org
 help / color / mirror / Atom feed
From: Panu Matilainen <pmatilai-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Bruce Richardson
	<bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [PATCH] config: default to shared library
Date: Wed, 04 Mar 2015 15:24:12 +0200	[thread overview]
Message-ID: <54F7077C.1010504@redhat.com> (raw)
In-Reply-To: <20150304130848.GA544@bricha3-MOBL3>

On 03/04/2015 03:08 PM, Bruce Richardson wrote:
> On Wed, Mar 04, 2015 at 06:28:05AM -0500, Neil Horman wrote:
>> On Wed, Mar 04, 2015 at 01:05:07PM +0200, Panu Matilainen wrote:
>>> 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.
>>>
>> This is accurate.  The default config is a tool, in the sense that it leverages
>> the implicit testing of any users who are experimenting with the DPDK.  Any
>> users out there using the DPDK test/example applications would have realized
>> something was amiss when the testpmd app refused to run with the null or pcap
>> pmd, since there was a missing symbol.  That "social fuzzing" has value, but it
>> only works if the defaults are carefully selected.  Currently, building for
>> shared libraries exposes more existing bugs than static libraries, and so we
>> should set that as our default so as to catch them.
>>
>>>> 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 :)
>>>
>> And it is a tool (see above).
>>
>>>>
>>>>> 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.
>>>
>>
>> If utmost performance is the concern, isn't it reasonable to assume that users
>> in that demographic will customize their configuration to achieve that?  No one
>> assumes that something is tuned to be perfect for their needs out of the box if
>> their needs are extreemely biased to a single quality.  The best course of
>> action here is to set the default to be adventageous toward catching bugs, and
>> document the changes needed to bias for performance.
>>
>>> For distros, this is not a matter of *convenience*, its the only technically
>>> feasible choice.
>
> As I understand it, build for the "default" cpu rather than "native" is the only
> feasible choice also, so how about re-introducing a new defconfig file for
> "default" (or perhaps better name), where you have lowest-common denominator
> instruction-set and building for shared libraries?
> Would that work for everyone, or do people feel it would be too confusing to have
> more defconfig files available?

Given the opposition to defaulting to shared, another config file seems 
like a fair compromise to me, whether "default" or something else. As 
for the naming, one possibility would be calling it "shared", implying 
both lowest-common denominator instruction set to be shareable across 
many systems and shared libraries.

	- Panu -

  reply	other threads:[~2015-03-04 13:24 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-04  6:17 [PATCH] config: default to shared library Panu Matilainen
     [not found] ` <c826d83d78b0d24d0d840775b6ff6afaa848320c.1425449872.git.pmatilai-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-04  9:24   ` Thomas Monjalon
2015-03-04 10:42     ` Bruce Richardson
2015-03-04 11:05     ` Panu Matilainen
     [not found]       ` <54F6E6E3.50404-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-04 11:28         ` Neil Horman
     [not found]           ` <20150304112805.GA5808-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-03-04 13:08             ` Bruce Richardson
2015-03-04 13:24               ` Panu Matilainen [this message]
     [not found]                 ` <54F7077C.1010504-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-04 13:31                   ` Bruce Richardson
2015-03-04 13:41                     ` Panu Matilainen
     [not found]                       ` <54F70B9D.7040903-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-04 13:49                         ` Bruce Richardson
2015-03-04 13:56                           ` Thomas Monjalon
2015-03-04 13:57                           ` David Marchand
     [not found]                             ` <CALwxeUtvB=sSgJfpNA6aqWO_W2sMobw1EQFwMTAk88vWrik25A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-04 14:10                               ` Bruce Richardson
2015-03-04 11:29         ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F7077C.1010504@redhat.com \
    --to=pmatilai-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.