patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Yuanhan Liu <yliu@fridaylinux.org>
To: Anatoly Burakov <anatoly.burakov@intel.com>
Cc: Santosh Shukla <santosh.shukla@caviumnetworks.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'mem: do not use physical addresses in IOVA as VA mode' has been queued to LTS release 17.11.2
Date: Sun, 22 Apr 2018 23:09:31 +0800	[thread overview]
Message-ID: <20180422150949.17523-41-yliu@fridaylinux.org> (raw)
In-Reply-To: <20180422150949.17523-1-yliu@fridaylinux.org>

Hi,

FYI, your patch has been queued to LTS release 17.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/29/18. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8888d6f0905cac90bd2335d799778a6d12472055 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Wed, 4 Apr 2018 15:40:45 +0100
Subject: [PATCH] mem: do not use physical addresses in IOVA as VA mode

[ upstream commit 048303b6f3fdfb5ce863e293f6b3dfabc0a0a2db ]

We already use VA addresses for IOVA purposes everywhere if we're in
RTE_IOVA_VA mode:
 1) rte_malloc_virt2phy()/rte_malloc_virt2iova() always return VA addresses
 2) Because of 1), memzone's IOVA is set to VA address on reserve
 3) Because of 2), mempool's IOVA addresses are set to VA addresses

The only place where actual physical addresses are stored is in memsegs at
init time, but we're not using them anywhere, and there is no external API
to get those addresses (aside from manually iterating through memsegs), nor
should anyone care about them in RTE_IOVA_VA mode.

So, fix EAL initialization to allocate VA-contiguous segments at the start
without regard for physical addresses (as if they weren't available), and
use VA to set final IOVA addresses for all pages.

Fixes: 62196f4e0941 ("mem: rename address mapping function to IOVA")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
---
 lib/librte_eal/linuxapp/eal/eal_memory.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index 16a181c36..17c20d4b3 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -491,6 +491,9 @@ map_all_hugepages(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi,
 			hugepg_tbl[i].orig_va = virtaddr;
 		}
 		else {
+			/* rewrite physical addresses in IOVA as VA mode */
+			if (rte_eal_iova_mode() == RTE_IOVA_VA)
+				hugepg_tbl[i].physaddr = (uintptr_t)virtaddr;
 			hugepg_tbl[i].final_va = virtaddr;
 		}
 
@@ -1109,7 +1112,8 @@ rte_eal_hugepage_init(void)
 				continue;
 		}
 
-		if (phys_addrs_available) {
+		if (phys_addrs_available &&
+				rte_eal_iova_mode() != RTE_IOVA_VA) {
 			/* find physical addresses for each hugepage */
 			if (find_physaddrs(&tmp_hp[hp_offset], hpi) < 0) {
 				RTE_LOG(DEBUG, EAL, "Failed to find phys addr "
-- 
2.11.0

  parent reply	other threads:[~2018-04-22 15:11 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-22 15:08 [dpdk-stable] patch 'eal/ppc: remove braces in SMP memory barrier macro' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'pci: remove duplicated symbol from map file' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'bus/vdev: fix finding device by name' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'app/procinfo: fix strncpy usage in args parsing' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'examples/exception_path: limit core count to 64' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'net/mlx5: fix flow creation with a single target queue' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'vhost: fix message payload union in setting ring address' " Yuanhan Liu
2018-04-22 15:08 ` [dpdk-stable] patch 'vhost: fix offset while mmaping log base " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'vhost: check cmsg not null' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'vhost: fix device cleanup at stop' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'vhost: fix realloc failure' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'vhost: fix ring index returned to master on stop' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/sfc: add missing defines for SAL annotation' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/bonding: fix primary slave port id storage type' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/octeontx: fix null pointer dereference' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/octeontx: fix uninitialized variable in port open' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/nfp: fix assigning port id in mbuf' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/nfp: fix barrier location' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/nfp: fix link speed capabilities' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'doc: fix NFP NIC guide grammar' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/qede: fix alloc from socket 0' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/enic: allocate stats DMA buffer upfront during probe' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/i40e: fix link update no wait' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/vmxnet3: set the queue shared buffer at start' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/mrvl: fix crash when port is closed without starting' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/mrvl: fix Rx descriptors number' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/mlx5: fix existing file removal' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/bnxt: fix LRO disable' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/sfc: fix mbuf data alignment calculation' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'ethdev: fix queue start' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/sfc: fix type of opaque pointer in perf profile handler' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/i40e: fix intr callback unregister by adding retry' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/ixgbe: " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'ethdev: fix port accessing after release' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'vhost: avoid concurrency when logging dirty pages' " Yuanhan Liu
2018-04-23  9:03   ` Maxime Coquelin
2018-05-06  3:51     ` Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/vhost: fix crash when creating vdev dynamically' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'bus/fslmc: fix find device start condition' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'hash: fix missing spinlock unlock in add key' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'app/crypto-perf: fix IOVA translation' " Yuanhan Liu
2018-04-22 15:09 ` Yuanhan Liu [this message]
2018-04-22 15:09 ` [dpdk-stable] patch 'vfio: do not needlessly check for IOVA mode' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/dpaa: fix oob access' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'bus/dpaa: fix resource leak' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/dpaa2: fix xstats' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'ip_frag: fix double free of chained mbufs' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/octeontx: fix uninitialized speed variable' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/bonding: fix setting VLAN ID on slave ports' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/bonding: clear started state if start fails' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/szedata2: fix total stats' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/szedata2: fix format string for PCI address' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/enic: fix crash on MTU update with non-setup queues' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/ixgbe: fix busy wait during checking link status' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'doc: add timestamp offload to mlx5 features' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/bnxt: fix Rx drop setting' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/sfc/base: fix comparison always true warning' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/i40e: fix DDP profile DEL operation' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/vhost: fix invalid state' " Yuanhan Liu
2018-04-22 15:09 ` [dpdk-stable] patch 'net/bonding: free mempool used in mode 6' " Yuanhan Liu

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=20180422150949.17523-41-yliu@fridaylinux.org \
    --to=yliu@fridaylinux.org \
    --cc=anatoly.burakov@intel.com \
    --cc=santosh.shukla@caviumnetworks.com \
    --cc=stable@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).