summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Yao <ryao@gentoo.org>2012-09-18 22:12:45 +0000
committerRichard Yao <ryao@gentoo.org>2012-09-18 22:12:45 +0000
commit7c462d3d274e71e45ca5f4ac9b81082b0e09e0a8 (patch)
tree385cfa06b5ff08fb8be509b506de4cc0a4334ca5 /sys-kernel
parentRemove sys-kernel/spl-0.6.0_rc9-r2 (diff)
downloadgentoo-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')
-rw-r--r--sys-kernel/spl/ChangeLog8
-rw-r--r--sys-kernel/spl/files/spl-0.6.0_rc9-alias-km-sleep-with-km-pushpage.patch56
-rw-r--r--sys-kernel/spl/files/spl-0.6.0_rc9-constify-free-functions.patch93
-rw-r--r--sys-kernel/spl/files/spl-0.6.0_rc9-detect-kernel-honors-gfp-flags.patch91
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
-