eal/linux: fix log levels for pagemap reading failure
authorKevin Traynor <ktraynor@redhat.com>
Thu, 14 Feb 2019 17:56:56 +0000 (17:56 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 27 Mar 2019 13:54:40 +0000 (14:54 +0100)
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>
lib/librte_eal/linux/eal/eal_memory.c

index 1b96b57..f6ee403 100644 (file)
@@ -114,7 +114,7 @@ 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;
        }
@@ -122,7 +122,7 @@ rte_mem_virt2phy(const void *virtaddr)
        virt_pfn = (unsigned long)virtaddr / page_size;
        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);
                return RTE_BAD_IOVA;
@@ -131,11 +131,11 @@ rte_mem_virt2phy(const void *virtaddr)
        retval = read(fd, &page, PFN_MASK_SIZE);
        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);
                return RTE_BAD_IOVA;