All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [PATCH 0/2] dpdk: Allow for dynamic enablement of some isolated features
Date: Thu, 31 Jul 2014 13:25:06 -0700	[thread overview]
Message-ID: <20140731202506.GC28495@localhost.localdomain> (raw)
In-Reply-To: <20140731201018.GE20718-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>

On Thu, Jul 31, 2014 at 04:10:18PM -0400, Neil Horman wrote:
> On Thu, Jul 31, 2014 at 11:36:32AM -0700, Bruce Richardson wrote:
> > Thu, Jul 31, 2014 at 02:10:32PM -0400, Neil Horman wrote:
> > > On Thu, Jul 31, 2014 at 10:32:28AM -0400, Neil Horman wrote:
> > > > On Thu, Jul 31, 2014 at 03:26:45PM +0200, Thomas Monjalon wrote:
> > > > > 2014-07-31 09:13, Neil Horman:
> > > > > > On Wed, Jul 30, 2014 at 02:09:20PM -0700, Bruce Richardson wrote:
> > > > > > > On Wed, Jul 30, 2014 at 03:28:44PM -0400, Neil Horman wrote:
> > > > > > > > On Wed, Jul 30, 2014 at 11:59:03AM -0700, Bruce Richardson wrote:
> > > > > > > > > On Tue, Jul 29, 2014 at 04:24:24PM -0400, Neil Horman wrote:
> > > > > > > > > > Hey all-
> > 
> > With regards to the general approach for runtime detection of software
> > functions, I wonder if something like this can be handled by the
> > packaging system? Is it possible to ship out a set of shared libs
> > compiled up for different instruction sets, and then at rpm install
> > time, symlink the appropriate library? This would push the whole issue
> > of detection of code paths outside of code, work across all our
> > libraries and ensure each user got the best performance they could get
> > form a binary?
> > Has something like this been done before? The building of all the
> > libraries could be scripted easy enough, just do multiple builds using
> > different EXTRA_CFLAGS each time, and move and rename the .so's after
> > each run.
> > 
> 
> Sorry, I missed this in my last reply.
> 
> In answer to your question, the short version is that such a thing is roughly
> possible from a packaging standpoint, but completely unworkable from a
> distribution standpoint.  We could certainly build the dpdk multiple times and
> rename all the shared objects to some variant name representative of the
> optimzations we build in for certain cpu flags, but then we woudl be shipping X
> versions of the dpdk, and any appilcation (say OVS that made use of the dpdk
> would need to provide a version linked against each variant to be useful when
> making a product, and each end user would need to manually select (or run a
> script to select) which variant is most optimized for the system at hand.  Its
> just not a reasonable way to package a library.

Sorry, perhaps I was not clear, having the user have to select the
appropriate library was not what I was suggesting. Instead, I was
suggesting that the rpm install "librte_pmd_ixgbe.so.generic",
"librte_pmd_ixgbe.so.sse42" and "librte_pmd_ixgbe.so.avx". Then the rpm
post-install script would look at the cpuflags in cpuinfo and then
symlink librte_pmd_ixgbe.so to the best-match version. That way the user
only has to link against "librte_pmd_ixgbe.so" and depending on the
system its run on, the loader will automatically resolve the symbols
from the appropriate instruction-set specific .so file.

> 
> When pacaging software, the only consideration given to code variance at pacakge
> time is architecture (x86/x86_64/ppc/s390/etc).  If you install a package for
> your a given architecture, its expected to run on that architecture.  Optional
> code paths are just that, optional, and executed based on run time tests.  Its a
> requirement that we build for the lowest common demoniator system that is
> supported, and enable accelerative code paths optionally at run time when the
> cpu indicates support for them.
> 
> Neil
> 

  parent reply	other threads:[~2014-07-31 20:25 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-29 20:24 [PATCH 0/2] dpdk: Allow for dynamic enablement of some isolated features Neil Horman
     [not found] ` <1406665466-29654-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-07-29 20:24   ` [PATCH 1/2] ixgbe: test sse4.2 support at runtime for vectorized receive operations Neil Horman
2014-07-29 20:24   ` [PATCH 2/2] acl: Preform dynamic sse4.2 support check Neil Horman
2014-07-30 12:07   ` [PATCH 0/2] dpdk: Allow for dynamic enablement of some isolated features Ananyev, Konstantin
     [not found]     ` <2601191342CEEE43887BDE71AB97725821345777-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-07-30 13:01       ` Neil Horman
     [not found]         ` <20140730130109.GA19737-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-07-30 13:44           ` Ananyev, Konstantin
2014-07-30 14:49   ` [PATCH v2 " Neil Horman
     [not found]     ` <1406731769-18523-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-07-30 14:49       ` [PATCH v2 1/2] ixgbe: test sse4.2 support at runtime for vectorized receive operations Neil Horman
2014-07-30 14:49       ` [PATCH v2 2/2] acl: Preform dynamic sse4.2 support check Neil Horman
2014-07-30 15:36       ` [PATCH v2 0/2] dpdk: Allow for dynamic enablement of some isolated features Ananyev, Konstantin
2014-07-30 19:03       ` Venky Venkatesan
     [not found]         ` <53D9418A.5020308-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-07-30 19:17           ` Neil Horman
2014-07-30 19:34           ` Neil Horman
2014-07-30 18:59   ` [PATCH " Bruce Richardson
     [not found]     ` <20140730185902.GA6420-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-07-30 19:28       ` Neil Horman
     [not found]         ` <20140730192844.GB3296-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-07-30 21:09           ` Bruce Richardson
     [not found]             ` <20140730210920.GB6420-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-07-31  9:30               ` Thomas Monjalon
2014-07-31 11:36               ` Ananyev, Konstantin
2014-07-31 13:13               ` Neil Horman
     [not found]                 ` <20140731131351.GA20718-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-07-31 13:26                   ` Thomas Monjalon
2014-07-31 14:32                     ` Neil Horman
     [not found]                       ` <20140731143228.GB20718-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-07-31 18:10                         ` Neil Horman
     [not found]                           ` <20140731181032.GC20718-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-07-31 18:36                             ` Bruce Richardson
     [not found]                               ` <20140731183631.GC6420-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-07-31 19:01                                 ` Neil Horman
     [not found]                                   ` <20140731190117.GD20718-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-07-31 20:19                                     ` Bruce Richardson
     [not found]                                       ` <20140731201949.GA28495-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-08-01 13:36                                         ` Neil Horman
     [not found]                                           ` <20140801133655.GA31979-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-08-01 13:56                                             ` Ananyev, Konstantin
     [not found]                                               ` <2601191342CEEE43887BDE71AB9772582134F31F-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-08-01 14:26                                                 ` Venkatesan, Venky
2014-08-01 14:27                                                 ` Neil Horman
2014-07-31 19:58                                 ` John W. Linville
     [not found]                                   ` <20140731195829.GG17560-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-07-31 20:20                                     ` Bruce Richardson
     [not found]                                       ` <20140731202042.GB28495-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-07-31 20:32                                         ` John W. Linville
     [not found]                                           ` <20140731203200.GH17560-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-08-01  8:46                                             ` Vincent JARDIN
     [not found]                                               ` <53DB53E9.6040004-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-08-01 14:06                                                 ` Neil Horman
     [not found]                                                   ` <20140801140654.GB31979-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-08-01 14:57                                                     ` Vincent JARDIN
     [not found]                                                       ` <53DBAAF4.4030608-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-08-01 15:19                                                         ` Neil Horman
2014-07-31 20:10                                 ` Neil Horman
     [not found]                                   ` <20140731201018.GE20718-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-07-31 20:25                                     ` Bruce Richardson [this message]
     [not found]                                       ` <20140731202506.GC28495-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-08-01 15:06                                         ` Neil Horman
     [not found]                                           ` <20140801150629.GD31979-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-08-01 19:22                                             ` Bruce Richardson
     [not found]                                               ` <20140801192221.GE28495-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-08-01 20:43                                                 ` Neil Horman
     [not found]                                                   ` <20140801204352.GF31979-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-08-01 21:08                                                     ` Bruce Richardson
     [not found]                                                       ` <20140801210821.GF28495-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-08-02 12:56                                                         ` Neil Horman
2014-07-31 21:53                             ` Thomas Monjalon
2014-07-31 21:25                         ` 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=20140731202506.GC28495@localhost.localdomain \
    --to=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.