From: Don Wallwork <donw@xsightlabs.com>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [RFC] EAL: legacy memory fixed address translations
Date: Wed, 27 Jul 2022 17:43:28 -0400 [thread overview]
Message-ID: <e2501444-cbb7-9a41-a9f1-fda211d385fb@xsightlabs.com> (raw)
In-Reply-To: <20220727233644.21f0b2a3@sovereign>
On 7/27/2022 4:36 PM, Dmitry Kozlyuk wrote:
> I now understand more about_why_ you want this feature
> but became less confident_what_ do you're proposing specifically.
Let me try to give a trivial example of how it would work
to make sure we're on the same page and then we can get
back to details..
Say you have a system with 4 huge pages that are 1G each
and the physical addresses are 10, 11, 17 and 22G. If we
map 13G of virtual address space, that will be enough to
cover all of the huge page physical addresses.
If the VA region starts at 1G, all of the hugepage PAs can
be mapped into that region as shown below under Proposed
heading. For comparison, existing mapping that would be
done in legacy mode is shown under the Current heading.
Proposed Current (Legacy)
VA | PA VA | PA
----+---- ----+----
1G | 10G 1G | 10G
2G | 11G 2G | 11G
3G | - 3G | -
4G | - 4G | 17G
5G | - 5G | -
6G | - 6G | 22G
7G | -
8G | 17G
9G | -
10G | -
11G | -
12G | -
13G | 22G
So in this example, we have a fixed offset of 9G to translate
between VA to PA or vice versa.This works whether the huge
pages happen to be allocated statically (legacy mode) or
dynamically.
The unused VA address space from 3G-7G and 9G-12G can be
unmapped in just two unmap calls.
This is a very nice property in that it makes address
translations trivial without requiring costly searches.
This property also makes debugging easier.
next prev parent reply other threads:[~2022-07-27 21:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-26 18:18 RFC: EAL " Don Wallwork
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 [this message]
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=e2501444-cbb7-9a41-a9f1-fda211d385fb@xsightlabs.com \
--to=donw@xsightlabs.com \
--cc=dev@dpdk.org \
--cc=dmitry.kozliuk@gmail.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).