Please enable ppc64el on dpdk

Bug #1538664 reported by Fernando Seiti Furusato
This bug report is a duplicate of:  Bug #1539775: Enable ppc64el on dpdk. Edit Remove
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dpdk (Ubuntu)
Triaged
Medium
Taco Screen team

Bug Description

Hello.
Since dpdk contains build configurations and code for ppc64(el), would it be possible to enable it?
It just needs little adjustments to the build and it builds successfully.

I am attaching a .debdiff with a suggested fix.

Thanks.

Fernando

Tags: patch
Revision history for this message
Fernando Seiti Furusato (ferseiti) wrote :
Changed in dpdk (Ubuntu):
assignee: nobody → Taco Screen team (taco-screen-team)
Revision history for this message
Fernando Seiti Furusato (ferseiti) wrote :

I will create a feature request for this one.

Changed in dpdk (Ubuntu):
status: New → Invalid
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi Fernando, FYI it will certainly be DPDK 2.2 in 16.04

I have no power machines at the moment to give it a test on my own.
I'll review your debdiff, try to port it to the stream of DPDK 2.2 we have and see if it builds.
If it does would you be able to give it some testing and give it IBMs "blessing" in that regards?
I would not like to ship "untested" things.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

First I see your patch debian/patches/ppc64-dpdk.patch has no reasonable header, but never mind I'll add one

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I also restructured the patch to only handle the CFLAGS (small and readable) and added the moving of the config file to d/rules as a "mv".
That way the patch will apply more reliably when upstream changes to your file come in some day.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Also would you mind to get that diff to mk/machine/default/rte.vars.mk upstream in the long term?

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi,
I finished modifying your changes for integration.
A few minor hickups, but nothing severe.

I'll attach the final diff that made it for your re-review if you like.

There is a ppa which allows you to test dpdk-2.2 on ppc64el at
https://launchpad.net/~paelzer/+archive/ubuntu/dpdk-merge-2.2

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Changed in dpdk (Ubuntu):
status: Invalid → In Progress
importance: Undecided → Medium
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "debdiff including ppc64el architecture" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

It is a patch, but not a debdiff to sponsor - I can't remove the sponsor Team - whoever can feel free to do so.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

So to summarize, this is now available for testing in the ppa.

But there are a few things to keep in mind.
We plan to put dpdk in main in 16.04, so enabling ppc64el implicates some kind of commitment.
But to get it enabled in 16.04 you (IBM) and the taco-team really have to work out how stable, how supported, who is ensuring that ...
To be honest DPDK is touchy even on x86, so I'm not sure how ready it is for power right now.

But that should be part of the Feature request discussion and not here.
Feel free to add me to the FR discussion.

Jon Grimm (jgrimm)
Changed in dpdk (Ubuntu):
status: In Progress → New
Revision history for this message
Fernando Seiti Furusato (ferseiti) wrote :

Hi Christian.

You were really quick and forward on checking this, thanks a lot!
My apologies for not giving the proper editing and details on the patch,
but I really did not hope to get the file I sent itself to be applied. I
didn't think it was ideal really.
I believe we can give you that commitment, but that can be discussed in
the feature request. You will certainly be added to the discussion.

I am sorry for not having it yet, by the way.
It's that I am waiting for it to be mirrored from our bug system to
launchpad, it should not take long.

Thanks!

Revision history for this message
Breno Leitão (breno-leitao) wrote :

Fernando, did you manage to test dpdk provided by Christian in his PPA?

Revision history for this message
Fernando Seiti Furusato (ferseiti) wrote :

Hello Christian.

I did not reply to some of your comments:

Comment #3, there are some options, in case you want to test on power machines.
One I can think of now is the minicloud [1]. Additionally, I tried running some things and will post it on another comment, I can run other tests with your guidance.

Comment #6, I will do that. Can I forward the one you attached here? (And I take it is on the source available on PPA)

Comment #7 I believe it is all good. As I said, mine was just an idea of what could be done.

Comment #11, got it. Breno is this something you could verify, please?

[1] http://openpower.ic.unicamp.br/minicloud/

Revision history for this message
Fernando Seiti Furusato (ferseiti) wrote :

I have downloaded the source of dpdk from ppa, built and installed it from [2].

Just tried to run a dpdk_proc_info and got the following:

# dpdk_proc_info
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 8 on socket 0
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 2 lcore(s)
PANIC in rte_eal_config_attach():
Cannot open '/var/run/.rte_config' for rte_mem_config
6: [/lib/powerpc64le-linux-gnu/libc.so.6(__libc_start_main+0xb4) [0x3fff804d3734]]
5: [/lib/powerpc64le-linux-gnu/libc.so.6(+0x23500) [0x3fff804d3500]]
4: [dpdk_proc_info(main+0x1b4) [0x1000797c]]
3: [/usr/lib/powerpc64le-linux-gnu/libdpdk.so.0(rte_eal_init+0x1044) [0x3fff80937924]]
2: [/usr/lib/powerpc64le-linux-gnu/libdpdk.so.0(__rte_panic+0x80) [0x3fff808f0684]]
1: [/usr/lib/powerpc64le-linux-gnu/libdpdk.so.0(rte_dump_stack+0x40) [0x3fff80958460]]
Aborted

I also tried running the test from the quick-start page [3], but since I used debian packaging, I tried and used testpmd built there. Not sure if this is correct:

# ./debian/build/shared-root/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=eth0 --vdev=eth_pcap1,iface=eth1 -- -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 8 on socket 0
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 2 lcore(s)
EAL: lcore 2 unavailable
EAL: invalid coremask

[2] https://launchpad.net/~paelzer/+archive/ubuntu/dpdk-merge-2.2
[3] http://dpdk.org/doc/quick-start

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

For the moment I have to get x86 tests up and running in a proper way first before I think doing tests on power on minicloud or similar - so I'd have to rely on you but would try to guide the bit I can.

>cComment #6, I will do that. Can I forward the one you attached here? (And I take it is on the source available on PPA)

Yes you can forward that, but you might or not need to rebase it to match dpdk git's head.
That particular part is unchanged from what you submitted.

> I have downloaded the source of dpdk from ppa, built and installed it from [2].
> Just tried to run a dpdk_proc_info and got the following:

> # dpdk_proc_info
> EAL: Detected lcore 0 as core 0 on socket 0
> EAL: Detected lcore 1 as core 8 on socket 0

All I can tell you at the moment is that I'm not seeing it fail on any of my x86 systems.
This is just what I meant that the actual architecture exploitation will need commitment and Test/Fix from IBM in #11.

> I also tried running the test from the quick-start page [3], but since I used debian packaging, I tried and used testpmd built there. Not sure if this is correct:

> # ./debian/build/shared-root/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=eth0 --vdev=eth_pcap1,iface=eth1 -- -i --nb-cores=2 --[...]
EAL: invalid coremask

Long story short, a coremask of 7 should make no sense for just two detected cores.
But I wonder if detecting only two cores is the first error to begin with.

Changed in dpdk (Ubuntu):
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.