diff options
author | Richard Yao <ryao@gentoo.org> | 2012-09-18 22:12:45 +0000 |
---|---|---|
committer | Richard Yao <ryao@gentoo.org> | 2012-09-18 22:12:45 +0000 |
commit | 7c462d3d274e71e45ca5f4ac9b81082b0e09e0a8 (patch) | |
tree | 385cfa06b5ff08fb8be509b506de4cc0a4334ca5 /sys-kernel | |
parent | Remove sys-kernel/spl-0.6.0_rc9-r2 (diff) | |
download | gentoo-2-7c462d3d274e71e45ca5f4ac9b81082b0e09e0a8.tar.gz gentoo-2-7c462d3d274e71e45ca5f4ac9b81082b0e09e0a8.tar.bz2 gentoo-2-7c462d3d274e71e45ca5f4ac9b81082b0e09e0a8.zip |
Remove sys-kernel/spl-0.6.0_rc9-r2 patch files
(Portage version: 2.1.11.9/cvs/Linux x86_64)
Diffstat (limited to 'sys-kernel')
4 files changed, 7 insertions, 241 deletions
diff --git a/sys-kernel/spl/ChangeLog b/sys-kernel/spl/ChangeLog index 62d8a7231789..9b35557bc0de 100644 --- a/sys-kernel/spl/ChangeLog +++ b/sys-kernel/spl/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-kernel/spl # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/ChangeLog,v 1.27 2012/09/18 22:09:30 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/ChangeLog,v 1.28 2012/09/18 22:12:45 ryao Exp $ + + 18 Sep 2012; Richard Yao <ryao@gentoo.org> + -files/spl-0.6.0_rc9-alias-km-sleep-with-km-pushpage.patch, + -files/spl-0.6.0_rc9-constify-free-functions.patch, + -files/spl-0.6.0_rc9-detect-kernel-honors-gfp-flags.patch: + Remove sys-kernel/spl-0.6.0_rc9-r2 patch files 18 Sep 2012; Richard Yao <ryao@gentoo.org> -spl-0.6.0_rc9-r2.ebuild: Remove sys-kernel/spl-0.6.0_rc9-r2 diff --git a/sys-kernel/spl/files/spl-0.6.0_rc9-alias-km-sleep-with-km-pushpage.patch b/sys-kernel/spl/files/spl-0.6.0_rc9-alias-km-sleep-with-km-pushpage.patch deleted file mode 100644 index fb0e5914e773..000000000000 --- a/sys-kernel/spl/files/spl-0.6.0_rc9-alias-km-sleep-with-km-pushpage.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 5c072b45b66e841ebc7952db7860c2ee7b024b08 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Mon, 25 Jun 2012 20:05:00 -0400 -Subject: [PATCH] Make KM_SLEEP an alias of KM_PUSHPAGE Use GFP_NOIO in - KM_SLEEP - -This should prevent direct reclaim issues without requiring -Linux-specific changes to code from Solaris. This is what is done in -FreeBSD. - -Note that a change to __taskq_dispatch() module/spl/spl-taskq.c is -needed to make this work. Changing KM_PUSHPAGE to use GFP_NOIO is fine, -but adding __GFP_HIGH to that triggers a hard-coded panic in -__taskq_dispatch() during zvol initialization. Removing the hard coded -panic has no ill effects. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> ---- - include/sys/kmem.h | 2 +- - module/spl/spl-taskq.c | 7 ++++--- - 2 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/include/sys/kmem.h b/include/sys/kmem.h -index 796af44..633278b 100644 ---- a/include/sys/kmem.h -+++ b/include/sys/kmem.h -@@ -41,7 +41,7 @@ - /* - * Memory allocation interfaces - */ --#define KM_SLEEP GFP_KERNEL /* Can sleep, never fails */ -+#define KM_SLEEP (GFP_NOIO | __GFP_HIGH) /* Can sleep, never fails */ - #define KM_NOSLEEP GFP_ATOMIC /* Can not sleep, may fail */ - #define KM_PUSHPAGE (GFP_NOIO | __GFP_HIGH) /* Use reserved memory */ - #define KM_NODEBUG __GFP_NOWARN /* Suppress warnings */ -diff --git a/module/spl/spl-taskq.c b/module/spl/spl-taskq.c -index 0c546c7..5ab387e 100644 ---- a/module/spl/spl-taskq.c -+++ b/module/spl/spl-taskq.c -@@ -255,9 +255,10 @@ - if (!(flags & (TQ_SLEEP | TQ_NOSLEEP))) - flags |= TQ_SLEEP; - -- if (unlikely(in_atomic() && (flags & TQ_SLEEP))) -- PANIC("May schedule while atomic: %s/0x%08x/%d\n", -- current->comm, preempt_count(), current->pid); -+ /* FIXME: Why does this fail when KM_SLEEP contains __GFP_HIGHMEM? */ -+ //if (unlikely(in_atomic() && (flags & TQ_SLEEP))) -+ // PANIC("May schedule while atomic: %s/0x%08x/%d\n", -+ // current->comm, preempt_count(), current->pid); - - spin_lock_irqsave(&tq->tq_lock, tq->tq_lock_flags); - --- -1.7.10 - diff --git a/sys-kernel/spl/files/spl-0.6.0_rc9-constify-free-functions.patch b/sys-kernel/spl/files/spl-0.6.0_rc9-constify-free-functions.patch deleted file mode 100644 index fdf2acf66aa4..000000000000 --- a/sys-kernel/spl/files/spl-0.6.0_rc9-constify-free-functions.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 9517a46638c8b2c22a69903e24081de4f608fde7 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Mon, 25 Jun 2012 13:22:21 -0400 -Subject: [PATCH] Constify memory management functions - -This avoids build failures on Linux 3.3.y and later. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> ---- - include/sys/kmem.h | 8 ++++---- - module/spl/spl-kmem.c | 10 +++++----- - 2 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/include/sys/kmem.h b/include/sys/kmem.h -index eda4eee..796af44 100644 ---- a/include/sys/kmem.h -+++ b/include/sys/kmem.h -@@ -214,9 +214,9 @@ - # define vmem_free(ptr, sz) vmem_free_track((ptr), (sz)) - - extern void *kmem_alloc_track(size_t, int, const char *, int, int, int); --extern void kmem_free_track(void *, size_t); -+extern void kmem_free_track(const void *, size_t); - extern void *vmem_alloc_track(size_t, int, const char *, int); --extern void vmem_free_track(void *, size_t); -+extern void vmem_free_track(const void *, size_t); - - # else /* DEBUG_KMEM_TRACKING */ - /* -@@ -243,9 +243,9 @@ - # define vmem_free(ptr, sz) vmem_free_debug((ptr), (sz)) - - extern void *kmem_alloc_debug(size_t, int, const char *, int, int, int); --extern void kmem_free_debug(void *, size_t); -+extern void kmem_free_debug(const void *, size_t); - extern void *vmem_alloc_debug(size_t, int, const char *, int); --extern void vmem_free_debug(void *, size_t); -+extern void vmem_free_debug(const void *, size_t); - - # endif /* DEBUG_KMEM_TRACKING */ - #else /* DEBUG_KMEM */ -diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c -index a50927c..448297a 100644 ---- a/module/spl/spl-kmem.c -+++ b/module/spl/spl-kmem.c -@@ -385,7 +385,7 @@ char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap) - EXPORT_SYMBOL(vmem_list); - - static kmem_debug_t * --kmem_del_init(spinlock_t *lock, struct hlist_head *table, int bits, void *addr) -+kmem_del_init(spinlock_t *lock, struct hlist_head *table, int bits, const void *addr) - { - struct hlist_head *head; - struct hlist_node *node; -@@ -504,7 +504,7 @@ char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap) - EXPORT_SYMBOL(kmem_alloc_track); - - void --kmem_free_track(void *ptr, size_t size) -+kmem_free_track(const void *ptr, size_t size) - { - kmem_debug_t *dptr; - SENTRY; -@@ -619,7 +619,7 @@ char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap) - EXPORT_SYMBOL(vmem_alloc_track); - - void --vmem_free_track(void *ptr, size_t size) -+vmem_free_track(const void *ptr, size_t size) - { - kmem_debug_t *dptr; - SENTRY; -@@ -706,7 +706,7 @@ char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap) - EXPORT_SYMBOL(kmem_alloc_debug); - - void --kmem_free_debug(void *ptr, size_t size) -+kmem_free_debug(const void *ptr, size_t size) - { - SENTRY; - -@@ -758,7 +758,7 @@ char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap) - EXPORT_SYMBOL(vmem_alloc_debug); - - void --vmem_free_debug(void *ptr, size_t size) -+vmem_free_debug(const void *ptr, size_t size) - { - SENTRY; - --- -1.7.10 - diff --git a/sys-kernel/spl/files/spl-0.6.0_rc9-detect-kernel-honors-gfp-flags.patch b/sys-kernel/spl/files/spl-0.6.0_rc9-detect-kernel-honors-gfp-flags.patch deleted file mode 100644 index ac10de7a8f17..000000000000 --- a/sys-kernel/spl/files/spl-0.6.0_rc9-detect-kernel-honors-gfp-flags.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 35f75553b720037eb7ef6ac9954c14f7d9c1b4e5 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Wed, 6 Jun 2012 22:38:12 -0400 -Subject: [PATCH] Detect kernels that honor gfp flags passed to vmalloc() - -zfsonlinux/spl@2092cf68d89a51eb0d6193aeadabb579dfc4b4a0 used PF_MEMALLOC -to workaround a bug in the Linux kernel where allocations did not honor -the gfp flags passed to vmalloc(). Unfortunately, PF_MEMALLOC has the -side effect of permitting allocations to allocate pages outside of -ZONE_NORMAL. This has been observed to result in the depletion of -ZONE_DMA32 on Gentoo Linux. A kernel patch is available in the Gentoo -bug tracker for this issue: - -https://bugs.gentoo.org/show_bug.cgi?id=416685 - -This negates any benefit PF_MEMALLOC provides, so we introduce an -autotools check to disable the use of PF_MEMALLOC on systems with -patched kernels. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> ---- - config/spl-build.m4 | 26 ++++++++++++++++++++++++++ - module/spl/spl-kmem.c | 4 ++++ - 2 files changed, 30 insertions(+) - -diff --git a/config/spl-build.m4 b/config/spl-build.m4 -index 6605b82..29c7ae4 100644 ---- a/config/spl-build.m4 -+++ b/config/spl-build.m4 -@@ -87,6 +87,7 @@ 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], [ -@@ -2056,3 +2057,28 @@ AC_DEFUN([SPL_AC_RWSEM_SPINLOCK_IS_RAW], [ - ]) - EXTRA_KCFLAGS="$tmp_flags" - ]) -+ -+dnl # -+dnl # 2.6.20 API change, -+dnl # INIT_WORK use 2 args and not store data inside -+dnl # -+AC_DEFUN([SPL_AC_PMD_ALLOC_WITH_MASK], -+ [AC_MSG_CHECKING([whether pmd_alloc_with_mask exists]) -+ SPL_LINUX_TRY_COMPILE([ -+ #define CONFIG_MMU -+ #undef RCH_HAS_4LEVEL_HACK -+ #include <linux/mm.h> -+ ],[ -+ struct mm_struct init_mm; -+ pud_t pud; -+ unsigned long addr; -+ gfp_t gfp_mask; -+ 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) -+ ]) -+]) -diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c -index e1d74d3..c640779 100644 ---- a/module/spl/spl-kmem.c -+++ b/module/spl/spl-kmem.c -@@ -843,6 +843,9 @@ static int spl_cache_flush(spl_kmem_cache_t *skc, - 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 -@@ -866,6 +869,7 @@ static int spl_cache_flush(spl_kmem_cache_t *skc, - } else { - ptr = __vmalloc(size, flags|__GFP_HIGHMEM, PAGE_KERNEL); - } -+#endif - } - - /* Resulting allocated memory will be page aligned */ --- -1.7.10 - |