xpmem: Fix deadlock in xpmem_remove_process_memory_range()

This reverts commit 2fe5c8de2e.

Change-Id: I8ec84f654aeee7cf83603abb2aca5e90b735e977
This commit is contained in:
Yoshihisa Morizumi
2021-01-08 17:23:32 +09:00
committed by Masamichi Takagi
parent 5dd989450d
commit 865eb37b11
20 changed files with 1470 additions and 4 deletions

31
test/xpmem/util.h Normal file
View File

@@ -0,0 +1,31 @@
#define CHKANDJUMP(cond, ...) do { \
if (cond) { \
fprintf(stderr, " [NG] "); \
fprintf(stderr, __VA_ARGS__); \
fprintf(stderr, " failed\n"); \
goto fn_fail; \
} \
} while (0)
#define OKNG(cond, ...) do { \
if (cond) { \
CHKANDJUMP(cond, __VA_ARGS__); \
} else { \
fprintf(stdout, " [OK] "); \
fprintf(stdout, __VA_ARGS__); \
fprintf(stdout, "\n"); \
} \
} while (0)
#ifdef __aarch64__
#define LARGE_PAGE_SHIFT 21
#elif defined(__x86_64__)
#define LARGE_PAGE_SHIFT 21
#else
#error "Non-compliant architecture."
#endif
#define MAP_HUGE_SHIFT 26
#define SZ_MEM (2 * (1ULL << LARGE_PAGE_SHIFT))
#define TEST_VAL 0x1129