aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-Fix-BZ1285348-by-updating-systemtap-s-memory-flag-us.patch73
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.inc1
2 files changed, 74 insertions, 0 deletions
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-Fix-BZ1285348-by-updating-systemtap-s-memory-flag-us.patch b/meta/recipes-kernel/systemtap/systemtap/0001-Fix-BZ1285348-by-updating-systemtap-s-memory-flag-us.patch
new file mode 100644
index 0000000000..4c34d7762b
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-Fix-BZ1285348-by-updating-systemtap-s-memory-flag-us.patch
@@ -0,0 +1,73 @@
+From 3d010295efd215cf83a7d07eecf89137973c154a Mon Sep 17 00:00:00 2001
+Message-Id: <3d010295efd215cf83a7d07eecf89137973c154a.1467836241.git.tom.zanussi@linux.intel.com>
+From: Jesper Brouer <jbrouer@redhat.com>
+Date: Mon, 30 Nov 2015 11:24:29 -0600
+Subject: [PATCH] Fix BZ1285348 by updating systemtap's memory flag usage.
+
+* runtime/linux/runtime_defines.h: Make sure __GFP_WAIT is defined.
+* runtime/stp_utrace.c (utrace_task_alloc): Change GFP_IOFS to
+ STP_ALLOC_FLAGS.
+ (utrace_attach_task): Ditto.
+
+Upstream-Status: Backport
+
+Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
+---
+ runtime/linux/runtime_defines.h | 23 +++++++++++++++++++++++
+ runtime/stp_utrace.c | 5 +++--
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/runtime/linux/runtime_defines.h b/runtime/linux/runtime_defines.h
+index e69de29..6b44e0d 100644
+--- a/runtime/linux/runtime_defines.h
++++ b/runtime/linux/runtime_defines.h
+@@ -0,0 +1,23 @@
++// The following kernel commit renamed __GFP_WAIT to __GRP_RECLAIM:
++//
++// commit 71baba4b92dc1fa1bc461742c6ab1942ec6034e9
++// Author: Mel Gorman <mgorman@techsingularity.net>
++// Date: Fri Nov 6 16:28:28 2015 -0800
++//
++// mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM
++//
++// __GFP_WAIT was used to signal that the caller was in atomic
++// context and could not sleep. Now it is possible to
++// distinguish between true atomic context and callers that are
++// not willing to sleep. The latter should clear
++// __GFP_DIRECT_RECLAIM so kswapd will still wake. As clearing
++// __GFP_WAIT behaves differently, there is a risk that people
++// will clear the wrong flags. This patch renames __GFP_WAIT to
++// __GFP_RECLAIM to clearly indicate what it does -- setting it
++// allows all reclaim activity, clearing them prevents it.
++//
++// Handle the rename by defining __GFP_WAIT as __GFP_RECLAIM.
++#include <linux/gfp.h>
++#ifndef __GFP_WAIT
++#define __GFP_WAIT __GFP_RECLAIM
++#endif
+diff --git a/runtime/stp_utrace.c b/runtime/stp_utrace.c
+index c69dec1..a8afc0d 100644
+--- a/runtime/stp_utrace.c
++++ b/runtime/stp_utrace.c
+@@ -511,7 +511,8 @@ static struct utrace *__task_utrace_struct(struct task_struct *task)
+ */
+ static bool utrace_task_alloc(struct task_struct *task)
+ {
+- struct utrace *utrace = kmem_cache_zalloc(utrace_cachep, GFP_IOFS);
++ struct utrace *utrace = kmem_cache_zalloc(utrace_cachep,
++ STP_ALLOC_FLAGS);
+ struct utrace *u;
+
+ if (unlikely(!utrace))
+@@ -782,7 +783,7 @@ static struct utrace_engine *utrace_attach_task(
+ utrace = task_utrace_struct(target);
+ }
+
+- engine = kmem_cache_alloc(utrace_engine_cachep, GFP_IOFS);
++ engine = kmem_cache_alloc(utrace_engine_cachep, STP_ALLOC_FLAGS);
+ if (unlikely(!engine))
+ return ERR_PTR(-ENOMEM);
+
+--
+2.5.0
+
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index 656f15f808..2ea98b2a56 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -9,6 +9,7 @@ SRC_URI = "git://sourceware.org/git/systemtap.git \
file://system_map_location.patch \
file://configure-allow-to-disable-libvirt.patch \
file://x32_abi_time.patch \
+ file://0001-Fix-BZ1285348-by-updating-systemtap-s-memory-flag-us.patch \
"
# systemtap doesn't support mips