Commit 2449656e authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Pavel Emelyanov

util: Optimize vaddr_to_pfn

Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 9c327c31
...@@ -768,12 +768,7 @@ int vaddr_to_pfn(unsigned long vaddr, u64 *pfn) ...@@ -768,12 +768,7 @@ int vaddr_to_pfn(unsigned long vaddr, u64 *pfn)
return errno == EPERM ? 1 : -1; return errno == EPERM ? 1 : -1;
off = (vaddr / page_size()) * sizeof(u64); off = (vaddr / page_size()) * sizeof(u64);
if (lseek(fd, off, SEEK_SET) != off) { ret = pread(fd, pfn, sizeof(*pfn), off);
pr_perror("Failed to seek address %lx", vaddr);
goto out;
}
ret = read(fd, pfn, sizeof(*pfn));
if (ret != sizeof(*pfn)) { if (ret != sizeof(*pfn)) {
pr_perror("Can't read pme for pid %d", getpid()); pr_perror("Can't read pme for pid %d", getpid());
ret = -1; ret = -1;
...@@ -781,7 +776,7 @@ int vaddr_to_pfn(unsigned long vaddr, u64 *pfn) ...@@ -781,7 +776,7 @@ int vaddr_to_pfn(unsigned long vaddr, u64 *pfn)
*pfn &= PME_PFRAME_MASK; *pfn &= PME_PFRAME_MASK;
ret = 0; ret = 0;
} }
out:
close(fd); close(fd);
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment