From: Don Wallwork <donw@xsightlabs.com>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: RFC: EAL legacy memory fixed address translations
Date: Tue, 26 Jul 2022 14:18:22 -0400 [thread overview]
Message-ID: <256b5409-ddaf-d7cc-00c1-273ca76dbf71@xsightlabs.com> (raw)
This proposal describes a method for translating any huge page
address from virtual to physical or vice versa using simple
addition or subtraction of a single fixed value. This allows
devices to efficiently access arbitrary huge page memory, even
stack data when worker stacks are in huge pages.
When legacy memory mode is used, it is possible to map a single
virtual memory region large enough to cover all huge pages. During
legacy hugepage init, each hugepage is mapped into that region.
Once all pages have been mapped, any unused holes in that memory
region are unmapped.
This feature is applicable when rte_eal_iova_mode() == RTE_IOVA_PA
and could be enabled either by default when the legacy memory EAL
option is given, or a new EAL option could be added to specifically
enable this feature.
It may be desirable to set a capability bit when this feature is
enabled to allow drivers to behave differently depending on the
state of that flag.
We have been working for some time with an internal patch that
implements this functionality. While this patch works for us, it
is not ready to be submitted upstream and we are open to suggested
improvements. We would like to know whether this feature may be of
interest to the wider DPDK community.
next reply other threads:[~2022-07-26 18:18 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-26 18:18 Don Wallwork [this message]
2022-07-26 18:33 ` [RFC] EAL: " Don Wallwork
2022-07-26 19:59 ` Dmitry Kozlyuk
2022-07-27 17:20 ` Don Wallwork
2022-07-27 19:12 ` Stephen Hemminger
2022-07-27 19:27 ` Don Wallwork
2022-07-27 20:36 ` Dmitry Kozlyuk
2022-07-27 21:43 ` Don Wallwork
2022-07-28 7:25 ` Dmitry Kozlyuk
2022-07-28 11:29 ` Morten Brørup
2022-07-28 14:46 ` Don Wallwork
2022-07-28 15:41 ` Don Wallwork
2022-07-28 16:33 ` Dmitry Kozlyuk
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=256b5409-ddaf-d7cc-00c1-273ca76dbf71@xsightlabs.com \
--to=donw@xsightlabs.com \
--cc=dev@dpdk.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 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).