From: Vincent JARDIN <vincent.jardin-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: Thomas Graf <tgraf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org"
<dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org>,
dev-VfR2kkLFssw@public.gmane.org,
Gerald Rogers
<gerald.rogers-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
dpdk-ovs-y27Ovi1pjclAfugRpC6u6w@public.gmane.org
Subject: Re: [ovs-dev] [PATCH RFC] dpif-netdev: Add support Intel DPDK based ports.
Date: Wed, 29 Jan 2014 11:26:58 +0100 [thread overview]
Message-ID: <52E8D772.9070302@6wind.com> (raw)
In-Reply-To: <52E8B88A.1070104-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Hi Thomas,
On 29/01/2014 09:15, Thomas Graf wrote:
> The obvious and usual best practise would be for DPDK to guarantee
> ABI stability between minor releases.
>
> Since dpdk-dev is copied as well, any comments?
DPDK's ABIs are not Kernel's ABIs, they are not POSIX, there is no
standard. Currently, there is no such plan to have a stable ABI since we
need to keep freedom to chase CPU cycles over having a stable ABI. For
instance, some applications on top of the DPDK process the packets in
less than 150 CPU cycles (have a look at testpmd:
http://dpdk.org/browse/dpdk/tree/app/test-pmd )
I agree that some areas could be improved since they are not into the
critical datapath of packets, but still other areas remain very CPU
constraints. For instance:
http://dpdk.org/browse/dpdk/commit/lib/librte_ether/rte_ethdev.h?id=c3d0564cf0f00c3c9a61cf72bd4bd1c441740637
is bad:
struct eth_dev_ops
is churned, no comment, and a #ifdef that changes the structure
according to compilation!
Should an application use the librte libraries of the DPDK:
- you can use RTE_VERSION and RTE_VERSION_NUM :
http://dpdk.org/doc/api/rte__version_8h.html#a8775053b0f721b9fa0457494cfbb7ed9
- you can write your own wrapper (with CPU overhead) in order to have
a stable ABI, that wrapper should be tight to the versions of the librte
=> the overhead is part of your application instead of the DPDK,
- *otherwise recompile your software, it is opensource, what's the
issue?*
We are opened to any suggestion to have stable ABI, but it should never
remove the options to have fast/efficient/compilation/CPU execution
processing.
Best regards,
Vincent
next prev parent reply other threads:[~2014-01-29 10:26 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-28 1:48 [PATCH RFC] dpif-netdev: Add support Intel DPDK based ports pshelar-l0M0P4e3n4LQT0dZR+AlfA
[not found] ` <1390873715-26714-1-git-send-email-pshelar-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
2014-01-28 4:49 ` Ben Pfaff
[not found] ` <20140128044950.GA4545-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
2014-01-28 5:28 ` [ovs-dev] " Pravin Shelar
[not found] ` <CALnjE+pFMa86Uz_9LZiZ3p-VzJwazQ18kwfZ62m6=2LZqQA7tA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-28 14:47 ` Vincent JARDIN
[not found] ` <52E7C31A.7050409-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-01-28 15:54 ` Thomas Graf
[not found] ` <52E7D2A8.400-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-28 18:20 ` Pravin Shelar
2014-01-28 17:56 ` Pravin Shelar
[not found] ` <CALnjE+qT-zCany+1t53paHmwkycJsftbEex6Q=OfEqQPNOt5nA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-29 0:15 ` Vincent JARDIN
[not found] ` <52E8482D.10804-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-01-29 19:32 ` Pravin Shelar
2014-01-28 15:48 ` Thomas Graf
[not found] ` <52E7D13B.9020404-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-28 18:17 ` [ovs-dev] " Pravin Shelar
[not found] ` <CALnjE+rP29s8mkiKPtppt-a8jMn-B2qS7+re2ZBd8bK46ozUPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-29 8:15 ` Thomas Graf
[not found] ` <52E8B88A.1070104-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-29 10:26 ` Vincent JARDIN [this message]
[not found] ` <52E8D772.9070302-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-01-29 11:14 ` Thomas Graf
[not found] ` <52E8E2AB.1080600-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-29 16:34 ` Vincent JARDIN
[not found] ` <52E92DA6.9070704-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-01-29 17:14 ` Thomas Graf
[not found] ` <52E936D9.4010207-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-29 18:42 ` Stephen Hemminger
2014-01-29 20:47 ` François-Frédéric Ozog
2014-01-29 23:15 ` Thomas Graf
2014-03-13 7:37 ` David Nyström
2014-01-29 8:56 ` Prashant Upadhyaya
[not found] ` <C7CE7EEF248E2B48BBA63D0ABEEE700C5A2A24F762-2zbAqoMm/rLQX//ci7WS+53eMK7GYZcrXYFosVITYPE@public.gmane.org>
2014-01-29 21:29 ` Pravin Shelar
[not found] ` <CALnjE+rXdqzo2y9tKevsu7R5=kp-do+Yhv1Nr7Q9jKEC5Ror3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-30 10:15 ` Prashant Upadhyaya
[not found] ` <C7CE7EEF248E2B48BBA63D0ABEEE700C5A2A24F97D-2zbAqoMm/rLQX//ci7WS+53eMK7GYZcrXYFosVITYPE@public.gmane.org>
2014-01-30 16:27 ` [dpdk-dev] " Rogers, Gerald
2014-01-29 10:01 ` [ovs-dev] " Thomas Graf
[not found] ` <52E8D17C.8050100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-29 21:49 ` Pravin Shelar
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=52E8D772.9070302@6wind.com \
--to=vincent.jardin-pdr9zngts4eavxtiumwx3w@public.gmane.org \
--cc=dev-VfR2kkLFssw@public.gmane.org \
--cc=dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org \
--cc=dpdk-ovs-y27Ovi1pjclAfugRpC6u6w@public.gmane.org \
--cc=gerald.rogers-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=tgraf-H+wXaHxf7aLQT0dZR+AlfA@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.