DPDK patches and discussions
 help / color / mirror / Atom feed
From: Sergey Kachkin <s.kachkin@yadro.com>
To: <dev@dpdk.org>, Nikolay Semenov <n.semenov@yadro.com>
Subject: [dpdk-dev] DPDK + Mellanox on POWER8
Date: Thu, 6 Dec 2018 19:26:10 +0300	[thread overview]
Message-ID: <3860c960-12cd-2333-05bb-ca9ee387e9d6@yadro.com> (raw)

Hi,

we are interested to run DPDK 18.11 on POWER8 based server.  I've read 
the recent release notes update regarding P8 support. At the same time 
after some playing I was able to run l2fwd with huge pages normally by 
hacking following commits:

https://github.com/DPDK/dpdk/commit/284ae3e9ff9a92575c28c858efd2c85c8de6d440
https://github.com/DPDK/dpdk/commit/1df21702873dab6ed95cfc5b7828553afd39fcde

Exact modifications are:

diff ../dpdk-18.11/lib/librte_eal/linuxapp/eal/eal_memory.c
849,851c849
< #ifdef RTE_ARCH_PPC_64
<flags |= MAP_HUGETLB;
< #endif
---
 >

and

diff ../dpdk-18.11/lib/librte_eal/common/eal_common_memory.c
55,58c55
<
< static uint64_t baseaddr = 0;
<
---
 > static uint64_t baseaddr = 0x100000000;

Without the modifications above, l2fwd with huge pages fails. The reason 
is following mmap() in alloc_seg() failing with EBUSY.

strace:
mmap(0x101000000, 34376515584, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x101000000    // first mmap in alloc_va_space() -> 
eal_get_virtual_area()

.......

mmap(0x101000000, 16777216, PROT_READ|PROT_WRITE, 
MAP_SHARED|MAP_FIXED|MAP_POPULATE, 136, 0) = -1 EBUSY (Device or 
resource busy) // this mmap in alloc_seg() fails.

My goal is to get DPDK 18.11 + support for POWER8 based machines. I'm 
new to DPDK and I'd like to ask your feedback if the hacks above could 
harm any DPDK functionality? (so far I do not see any obvious issue). If 
not, can we go further with POWER8 support in new DPDK versions?

thanks in advance,

regards,
Sergey

                 reply	other threads:[~2018-12-06 16:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=3860c960-12cd-2333-05bb-ca9ee387e9d6@yadro.com \
    --to=s.kachkin@yadro.com \
    --cc=dev@dpdk.org \
    --cc=n.semenov@yadro.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).