eal/linux: fix log levels for unable to read pagemap

Message ID 20190214175656.14390-1-ktraynor@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series eal/linux: fix log levels for unable to read pagemap |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Kevin Traynor Feb. 14, 2019, 5:56 p.m. UTC
  Commit cdc242f260e7 says:
    For Linux kernel 4.0 and newer, the ability to obtain
    physical page frame numbers for unprivileged users from
    /proc/self/pagemap was removed. Instead, when an IOMMU
    is present, simply choose our own DMA addresses instead.

In this case the user still sees error messages, so adjust
the log levels. Later, other checks will ensure that errors
are logged in the appropriate cases.

Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")
Cc: stable@dpdk.org

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 lib/librte_eal/linuxapp/eal/eal_memory.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Aaron Conole Feb. 14, 2019, 7:31 p.m. UTC | #1
Kevin Traynor <ktraynor@redhat.com> writes:

> Commit cdc242f260e7 says:
>     For Linux kernel 4.0 and newer, the ability to obtain
>     physical page frame numbers for unprivileged users from
>     /proc/self/pagemap was removed. Instead, when an IOMMU
>     is present, simply choose our own DMA addresses instead.
>
> In this case the user still sees error messages, so adjust
> the log levels. Later, other checks will ensure that errors
> are logged in the appropriate cases.
>
> Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")
> Cc: stable@dpdk.org
>
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> ---

Acked-by: Aaron Conole <aconole@redhat.com>

Thanks, Kevin!
  
Thomas Monjalon March 27, 2019, 1:55 p.m. UTC | #2
14/02/2019 20:31, Aaron Conole:
> Kevin Traynor <ktraynor@redhat.com> writes:
> 
> > Commit cdc242f260e7 says:
> >     For Linux kernel 4.0 and newer, the ability to obtain
> >     physical page frame numbers for unprivileged users from
> >     /proc/self/pagemap was removed. Instead, when an IOMMU
> >     is present, simply choose our own DMA addresses instead.
> >
> > In this case the user still sees error messages, so adjust
> > the log levels. Later, other checks will ensure that errors
> > are logged in the appropriate cases.
> >
> > Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> > ---
> 
> Acked-by: Aaron Conole <aconole@redhat.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index 1b96b576e..f6ee403ad 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -115,5 +115,5 @@  rte_mem_virt2phy(const void *virtaddr)
 	fd = open("/proc/self/pagemap", O_RDONLY);
 	if (fd < 0) {
-		RTE_LOG(ERR, EAL, "%s(): cannot open /proc/self/pagemap: %s\n",
+		RTE_LOG(INFO, EAL, "%s(): cannot open /proc/self/pagemap: %s\n",
 			__func__, strerror(errno));
 		return RTE_BAD_IOVA;
@@ -123,5 +123,5 @@  rte_mem_virt2phy(const void *virtaddr)
 	offset = sizeof(uint64_t) * virt_pfn;
 	if (lseek(fd, offset, SEEK_SET) == (off_t) -1) {
-		RTE_LOG(ERR, EAL, "%s(): seek error in /proc/self/pagemap: %s\n",
+		RTE_LOG(INFO, EAL, "%s(): seek error in /proc/self/pagemap: %s\n",
 				__func__, strerror(errno));
 		close(fd);
@@ -132,9 +132,9 @@  rte_mem_virt2phy(const void *virtaddr)
 	close(fd);
 	if (retval < 0) {
-		RTE_LOG(ERR, EAL, "%s(): cannot read /proc/self/pagemap: %s\n",
+		RTE_LOG(INFO, EAL, "%s(): cannot read /proc/self/pagemap: %s\n",
 				__func__, strerror(errno));
 		return RTE_BAD_IOVA;
 	} else if (retval != PFN_MASK_SIZE) {
-		RTE_LOG(ERR, EAL, "%s(): read %d bytes from /proc/self/pagemap "
+		RTE_LOG(INFO, EAL, "%s(): read %d bytes from /proc/self/pagemap "
 				"but expected %d:\n",
 				__func__, retval, PFN_MASK_SIZE);