Commit b08738fe authored by Daniel Verkamp's avatar Daniel Verkamp
Browse files

env/vtophys: mark exceptional cases as unlikely



Make sure the compiler arranges the fast path as the fallthrough case by
annotating the checks in spdk_vtophys().

Change-Id: If0fc3149297131894b5c7a94bff31bf8ee40326e
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
parent f314f0ca
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@
#include <rte_eal_memconfig.h>

#include "spdk/assert.h"
#include "spdk/likely.h"

/* x86-64 userspace virtual addresses use only the low 47 bits [0..46],
 * which is enough to cover 128 TB.
@@ -329,7 +330,7 @@ spdk_vtophys(void *buf)
	uint64_t vaddr, vfn_2mb, paddr_2mb;

	vaddr = (uint64_t)buf;
	if (vaddr & ~MASK_128TB) {
	if (spdk_unlikely(vaddr & ~MASK_128TB)) {
		printf("invalid usermode virtual address %p\n", buf);
		return SPDK_VTOPHYS_ERROR;
	}
@@ -339,7 +340,7 @@ spdk_vtophys(void *buf)
	idx_1gb = MAP_1GB_IDX(vfn_2mb);

	map_1gb = vtophys_map_128tb.map[idx_128tb];
	if (!map_1gb) {
	if (spdk_unlikely(!map_1gb)) {
		return SPDK_VTOPHYS_ERROR;
	}