Revert "Detect kernels that honor gfp flags passed to vmalloc()"

This reverts commit 36811b4430.
Which is no longer required because there is now SPL code in
place to safely handle the deadlocks the kernel patch was designed
to address.  Therefore we can unconditionally use vmalloc() and
drop all the PF_MEMALLOC code.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
Brian Behlendorf 2012-08-18 11:01:22 -07:00
parent d47e664ad4
commit bc03e07a7c
3 changed files with 0 additions and 43 deletions

View File

@ -88,7 +88,6 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE
SPL_AC_SHRINK_CONTROL_STRUCT
SPL_AC_RWSEM_SPINLOCK_IS_RAW
SPL_AC_PMD_ALLOC_WITH_MASK
])
AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
@ -2235,38 +2234,3 @@ AC_DEFUN([SPL_AC_RWSEM_SPINLOCK_IS_RAW], [
])
EXTRA_KCFLAGS="$tmp_flags"
])
dnl #
dnl # Proposed VM Subsystem Bug Fix
dnl # https://bugs.gentoo.org/show_bug.cgi?id=416685
dnl #
dnl # Make __pte_alloc_kernel() honor gfp flags passed to vmalloc()
dnl # This is detected by checking a macro that is changed to support this.
dnl #
AC_DEFUN([SPL_AC_PMD_ALLOC_WITH_MASK], [
AC_MSG_CHECKING([whether pmd_alloc_with_mask exists])
SPL_LINUX_TRY_COMPILE([
#if !defined(CONFIG_MMU)
#define CONFIG_MMU
#endif
#if defined(RCH_HAS_4LEVEL_HACK)
#undef RCH_HAS_4LEVEL_HACK
#endif
#include <linux/mm.h>
],[
struct mm_struct init_mm;
pud_t *pud = NULL;
unsigned long addr = 0;
gfp_t gfp_mask = GFP_KERNEL;
pmd_alloc_with_mask(&init_mm, pud, addr, gfp_mask);
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PMD_ALLOC_WITH_MASK, 1,
[pmd_alloc_with_mask exists])
],[
AC_MSG_RESULT(no)
])
])

View File

@ -843,9 +843,6 @@ kv_alloc(spl_kmem_cache_t *skc, int size, int flags)
if (skc->skc_flags & KMC_KMEM) {
ptr = (void *)__get_free_pages(flags, get_order(size));
} else {
#ifdef HAVE_PMD_ALLOC_WITH_MASK
ptr = __vmalloc(size, flags|__GFP_HIGHMEM, PAGE_KERNEL);
#else
/*
* As part of vmalloc() an __pte_alloc_kernel() allocation
* may occur. This internal allocation does not honor the
@ -869,7 +866,6 @@ kv_alloc(spl_kmem_cache_t *skc, int size, int flags)
} else {
ptr = __vmalloc(size, flags|__GFP_HIGHMEM, PAGE_KERNEL);
}
#endif
}
/* Resulting allocated memory will be page aligned */

View File

@ -165,9 +165,6 @@
/* pgdat_list is available */
#undef HAVE_PGDAT_LIST
/* pmd_alloc_with_mask exists */
#undef HAVE_PMD_ALLOC_WITH_MASK
/* __put_task_struct() is available */
#undef HAVE_PUT_TASK_STRUCT