]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2013 01:17:32 +0000 (18:17 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2013 01:17:32 +0000 (18:17 -0700)
added patches:
frv-use-core-allocator-for-task_struct.patch
frv-use-correct-size-for-task_struct-allocation.patch

queue-3.4/frv-use-core-allocator-for-task_struct.patch [new file with mode: 0644]
queue-3.4/frv-use-correct-size-for-task_struct-allocation.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/frv-use-core-allocator-for-task_struct.patch b/queue-3.4/frv-use-core-allocator-for-task_struct.patch
new file mode 100644 (file)
index 0000000..026e61c
--- /dev/null
@@ -0,0 +1,52 @@
+From c6ae063aaf3786b9db7f19a90bf4ed8aaebb7f90 Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Thu, 3 May 2012 09:02:47 +0000
+Subject: frv: Use core allocator for task_struct
+
+From: Thomas Gleixner <tglx@linutronix.de>
+
+commit c6ae063aaf3786b9db7f19a90bf4ed8aaebb7f90 upstream.
+
+There is no point having a copy of the core allocator.
+
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Acked-by: David Howells <dhowells@redhat.com>
+Link: http://lkml.kernel.org/r/20120503085033.967140188@linutronix.de
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/frv/include/asm/thread_info.h |    2 --
+ arch/frv/kernel/process.c          |   10 ----------
+ 2 files changed, 12 deletions(-)
+
+--- a/arch/frv/include/asm/thread_info.h
++++ b/arch/frv/include/asm/thread_info.h
+@@ -21,8 +21,6 @@
+ #define THREAD_SIZE           8192
+-#define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
+-
+ /*
+  * low level task data that entry.S needs immediate access to
+  * - this struct should fit entirely inside of one cache line
+--- a/arch/frv/kernel/process.c
++++ b/arch/frv/kernel/process.c
+@@ -44,16 +44,6 @@ asmlinkage void ret_from_fork(void);
+ void (*pm_power_off)(void);
+ EXPORT_SYMBOL(pm_power_off);
+-struct task_struct *alloc_task_struct_node(int node)
+-{
+-      return kmalloc_node(sizeof(task_struct), GFP_KERNEL, node);
+-}
+-
+-void free_task_struct(struct task_struct *p)
+-{
+-      kfree(p);
+-}
+-
+ static void core_sleep_idle(void)
+ {
+ #ifdef LED_DEBUG_SLEEP
diff --git a/queue-3.4/frv-use-correct-size-for-task_struct-allocation.patch b/queue-3.4/frv-use-correct-size-for-task_struct-allocation.patch
new file mode 100644 (file)
index 0000000..538bae2
--- /dev/null
@@ -0,0 +1,48 @@
+From cce4517f33384c3794c759e206cc8e1bb6df146b Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Thu, 3 May 2012 09:02:47 +0000
+Subject: frv: Use correct size for task_struct allocation
+
+From: Thomas Gleixner <tglx@linutronix.de>
+
+commit cce4517f33384c3794c759e206cc8e1bb6df146b upstream.
+
+alloc_task_struct_node() allocates THREAD_SIZE and maintains some
+weird refcount in the allocated memory. This never blew up as
+task_struct size on 32bit machines was always less than THREAD_SIZE
+
+Allocate just sizeof(struct task_struct) and get rid of the magic
+refcounting.
+
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Acked-by: David Howells <dhowells@redhat.com>
+Link: http://lkml.kernel.org/r/20120503085033.898475542@linutronix.de
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/frv/kernel/process.c |    9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+--- a/arch/frv/kernel/process.c
++++ b/arch/frv/kernel/process.c
+@@ -46,17 +46,12 @@ EXPORT_SYMBOL(pm_power_off);
+ struct task_struct *alloc_task_struct_node(int node)
+ {
+-      struct task_struct *p = kmalloc_node(THREAD_SIZE, GFP_KERNEL, node);
+-
+-      if (p)
+-              atomic_set((atomic_t *)(p+1), 1);
+-      return p;
++      return kmalloc_node(sizeof(task_struct), GFP_KERNEL, node);
+ }
+ void free_task_struct(struct task_struct *p)
+ {
+-      if (atomic_dec_and_test((atomic_t *)(p+1)))
+-              kfree(p);
++      kfree(p);
+ }
+ static void core_sleep_idle(void)
index 4cd138945f3bf63e5c0871e5cd6bb5960d0a6172..cb90496ce0d5f97adbafd71ab4204854a57c4dea 100644 (file)
@@ -11,3 +11,5 @@ cris-posix_types.h-include-asm-generic-posix_types.h.patch
 cris-remove-old-legacy-traditional-flag-from-arch-v10-lib-makefile.patch
 cris-add-_sdata-to-vmlinux.lds.s.patch
 futex-take-hugepages-into-account-when-generating-futex_key.patch
+frv-use-correct-size-for-task_struct-allocation.patch
+frv-use-core-allocator-for-task_struct.patch