DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Mcnamara, John" <john.mcnamara@intel.com>
To: Thomas F Herbert <therbert@redhat.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] DPDK User Space: Session onUseability and Ease of Use
Date: Tue, 13 Oct 2015 16:36:51 +0000	[thread overview]
Message-ID: <B27915DBBA3421428155699D51E4CFE202380B58@IRSMSX103.ger.corp.intel.com> (raw)
In-Reply-To: <5616B611.3070900@redhat.com>

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas F Herbert
> Sent: Thursday, October 8, 2015 7:30 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] DPDK User Space: Session onUseability and Ease of Use
> 
> All:
> 
> Captured white board notes from Jim McNamara's session on Useability and
> Ease of Use at DPDK User Space today are here:
> 
> http://people.redhat.com/therbert/Useability_and_Ease_of_Use_DPDK_User_Space/


Hi Tom,

Thanks for that. Here is my summary of the "Usability and Ease of
Use" session from memory and notes. Correction and additions welcome.

* Latest version of the DPDK docs

  - (From an earlier session). Add a doc/latest build of the docs
    to dpdk.org.

* PMD lite

  - Do we need a lighter PMD model? Perhaps based on the Mellanox
    model.

  - Vincent suggested be could remove 90% of the code. I'll leave
    Vincent explain this one.

* OvS issues with Usability

  - Discussion of the DPSK usability issues highlighted on the
    OvS mailing list.

  - http://openvswitch.org/pipermail/dev/2015-August/058814.html

* Distributed testing

  - There should be some form of distributed testing so patches
    can be tested on OSes and hardware that a dev doesn't have.

  - Suggestion to have an Open Lab/Pod similar to the OPNFV model
    that participants can use.

* Debuggability

  - User expectation for tools like tcpdump, ip, ipconfig to work
    with DPDK bound NICs.

  - Easier in a pipeline application where debug is added as a
    pipeline stage.

  - Maybe add debug hooks via rx/tx callbacks.

  - Add/extend a solution based on KNI.

  - Use systemd naming algorithm for KNI.

* Create a User Mailing List

  - An observation was made that the dev@dpdk.org list was very
    developer orientated and patch heavy.

  - Suggestion to add a user@dpdk.org mailing list for people
    with issues or subjects that aren't development related.

  - This seams easy to implement. It may not be well supported
    however resulting in users cross posting into dev@dpdk.org.

  - Probably worth trying anyway.

* Make the dpdk.org website patchable

  - There are already plans to host the dpdk.org code in a git
    repo.

* Add a Contributing Guide.

  - We are at the stage where we need one.

  - Suggestion to just use the Kernel guide.

  - Tailor it for DPDK.

  - Also explain the review process, acks, nacks, etc.

* Add a README .txt or .1st to the root dir.

  - This could just include links to the getting started guides
    and other docs. Either to the online docs or how to build the
    local html versions.

* EAL annoyances

  - Move the EAL to the kernel.

  - Have more/better/all default options. EAL figures out its own
    requirements.

  - Have a default for -n.

* Hugepage consumption

  - Do not allow DPDK applications to grab all available hugepages.

  - Issues with running DPDK apps in tandem with other hugepage
    hungry apps such as Java/Eclipse.

* rte_malloc()

  - Don't use rte_malloc() for non critical objects where
    malloc() would do.

  - Suggestion to allow the type of required memory to be
    specified by rte_malloc()-like function.

* The Build system

  - Make install needs to be improved. Doesn't so what the user expects.

  - Use autotools and configure. (There were some objections that
    this may not be an improvement.)

  - Use kconfig.

  - Keep going with what we have now until it gets too unwieldy
    and needs to be changed. Then use kconfig.

  - Add better support for cross compilation. Useful for arm target.

* Should DPDK applications be running as root

  - Clearly not a great option.

  - Currently required due to kernel.

* Mempool debugging

  - We need better tools to debug memory leaks in the mempools.

  - Suggestion to do this via a valgrind plugin.

* Kernel management of drivers

* Too much duplicated code in the PMDs

  - Duplicated code has crept in organically as PMDs have been
    added.

  - Should be moved up to moved up to the ethdev level

* Logging and debugging via a secondary process

  - Not a well known technique but very useful/powerful

* Run DPDK as a daemon.

* Issues with config files

  - Too many options turned off by default: code paths don't get
    compiled/tested.

* More sample apps

  - Some more examples of using secondary processes.



Of these we the following could be addressed in the near term:


* Latest version of the docs. - Needs support from 6Wind.

* Distributed testing. - Needs support from Intel initially.
  Some of this is already being rolled out on the
  test-report@dpdk.org list for Intel hardware:
  http://dpdk.org/ml/archives/test-report/. Other hardware
  vendors could use the same automated test framework to host
  something similar.

* Debuggability. - Need some volunteers or workable suggestions.

* Create a User Mailing List. - Needs support from 6Wind.

* Make the dpdk.org website patchable. - Needs support from
  6Wind.

* Add a Contributing Guide. - I will submit a doc patch.

* Add a README .txt or .1st to the root dir. - I will submit a
  doc patch.

* The Build system. - There are some patches on the list for an
  updated "make install". This could be a start point.

* Mempool debugging. - Any volunteers to add/improve valgrind
  support for DPDK? See also this patch from Brocade:
  https://bugs.kde.org/show_bug.cgi?id=350405

* Too much duplicated code in the PMDs. - Any volunteers to
  refactor common PMD code up into the ethdev layer?

* Logging and debugging via a secondary process. Any volunteers
  to add a sample app that demonstrates the technique?

John.
-- 






  reply	other threads:[~2015-10-13 16:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 18:29 Thomas F Herbert
2015-10-13 16:36 ` Mcnamara, John [this message]
2015-10-13 20:06   ` Thomas Monjalon
2015-10-14  6:51     ` Dave Neary
2015-10-14 13:16     ` Vincent JARDIN
2015-10-14 10:25   ` Panu Matilainen
2015-10-14 13:21   ` Vincent JARDIN
2015-10-14 14:36   ` Vincent JARDIN
2015-10-14 16:34     ` Bruce Richardson
2015-10-19 13:55   ` Simon Kågström
  -- strict thread matches above, loose matches on Subject: below --
2015-10-08 16:38 Thomas Herbert

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=B27915DBBA3421428155699D51E4CFE202380B58@IRSMSX103.ger.corp.intel.com \
    --to=john.mcnamara@intel.com \
    --cc=dev@dpdk.org \
    --cc=therbert@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).