X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=wrapper%2Fvmalloc.h;h=e78d99bb199c18c83a7ec89923783059b0f8d60e;hb=1bf0964a2757793ecc19d6c456ec83f6c148355f;hp=54715b5741d6d775d11319bcb101b0f7e5d8cc0d;hpb=da0fcb1497ff2437407883647a8a0bba12bd0f91;p=lttng-modules.git diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h index 54715b57..e78d99bb 100644 --- a/wrapper/vmalloc.h +++ b/wrapper/vmalloc.h @@ -20,8 +20,29 @@ #include #include +#include -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)) + +/* + * wrapper_vmalloc_sync_mappings was removed in v5.8, the vmalloc mappings + * are now synchronized when they are created or torn down. + */ +static inline +void wrapper_vmalloc_sync_mappings(void) +{} + +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) \ + || LTTNG_KERNEL_RANGE(5,5,12, 5,6,0) \ + || LTTNG_KERNEL_RANGE(5,4,28, 5,5,0) \ + || LTTNG_KERNEL_RANGE(5,2,37, 5,3,0) \ + || LTTNG_KERNEL_RANGE(4,19,113, 4,20,0) \ + || LTTNG_KERNEL_RANGE(4,14,175, 4,15,0) \ + || LTTNG_KERNEL_RANGE(4,9,218, 4,10,0) \ + || LTTNG_KERNEL_RANGE(4,4,218, 4,5,0)) \ + || LTTNG_UBUNTU_KERNEL_RANGE(4,15,18,97, 4,16,0,0) \ + || LTTNG_UBUNTU_KERNEL_RANGE(5,0,21,48, 5,1,0,0) \ + || LTTNG_UBUNTU_KERNEL_RANGE(5,3,18,52, 5,4,0,0) static inline void wrapper_vmalloc_sync_mappings(void) @@ -43,7 +64,7 @@ void wrapper_vmalloc_sync_mappings(void) } } -#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ +#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ /* * Map vmalloc_sync_mappings to vmalloc_sync_all() on kernels before 5.7. @@ -68,11 +89,21 @@ void wrapper_vmalloc_sync_mappings(void) } } -#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ #else -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) \ + || LTTNG_KERNEL_RANGE(5,5,12, 5,6,0) \ + || LTTNG_KERNEL_RANGE(5,4,28, 5,5,0) \ + || LTTNG_KERNEL_RANGE(5,2,37, 5,3,0) \ + || LTTNG_KERNEL_RANGE(4,19,113, 4,20,0) \ + || LTTNG_KERNEL_RANGE(4,14,175, 4,15,0) \ + || LTTNG_KERNEL_RANGE(4,9,218, 4,10,0) \ + || LTTNG_KERNEL_RANGE(4,4,218, 4,5,0)) \ + || LTTNG_UBUNTU_KERNEL_RANGE(4,15,18,97, 4,18,0,0) \ + || LTTNG_UBUNTU_KERNEL_RANGE(5,0,21,48, 5,1,0,0) \ + || LTTNG_UBUNTU_KERNEL_RANGE(5,3,18,52, 5,4,0,0) static inline void wrapper_vmalloc_sync_mappings(void) @@ -80,7 +111,7 @@ void wrapper_vmalloc_sync_mappings(void) return vmalloc_sync_mappings(); } -#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ +#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ static inline void wrapper_vmalloc_sync_mappings(void) @@ -88,7 +119,7 @@ void wrapper_vmalloc_sync_mappings(void) return vmalloc_sync_all(); } -#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ #endif @@ -216,7 +247,7 @@ void *lttng_kvmalloc_node(unsigned long size, gfp_t flags, int node) * Make sure we don't trigger recursive page faults in the * tracing fast path. */ - wrapper_vmalloc_sync_all(); + wrapper_vmalloc_sync_mappings(); } return ret; }