]> git.pld-linux.org Git - packages/kernel.git/blame - kernel-small_fixes.patch
- up to 4.3.0; builds on x86_64; untested, so rel 0.1
[packages/kernel.git] / kernel-small_fixes.patch
CommitLineData
08aa9d92 1--- linux-2.6.33/scripts/mod/modpost.c~ 2010-02-24 19:52:17.000000000 +0100
2+++ linux-2.6.33/scripts/mod/modpost.c 2010-03-07 14:26:47.242168558 +0100
3@@ -15,7 +15,8 @@
4 #include <stdio.h>
5 #include <ctype.h>
6 #include "modpost.h"
7-#include "../../include/generated/autoconf.h"
8+// PLD architectures don't use CONFIG_SYMBOL_PREFIX
9+//#include "../../include/generated/autoconf.h"
10 #include "../../include/linux/license.h"
11
12 /* Some toolchains use a `_' prefix for all user symbols. */
13
2136e199
AM
14--- linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh~ 2011-07-22 04:17:23.000000000 +0200
15+++ linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh 2011-08-25 21:26:04.799150642 +0200
16@@ -9,6 +9,12 @@
17 $cc -print-file-name=lib${lib}.${ext} | grep -q /
18 if [ $? -eq 0 ]; then
19 echo "-l${lib}"
20+ for libt in tinfow tinfo ; do
21+ $cc -print-file-name=lib${libt}.${ext} | grep -q /
22+ if [ $? -eq 0 ]; then
23+ echo "-l${libt}"
24+ fi
25+ done
26 exit
27 fi
28 done
7e7bde06 29
99992ee3
AM
30From 7a29ac474a47eb8cf212b45917683ae89d6fa13b Mon Sep 17 00:00:00 2001
31From: Chris Mason <clm@fb.com>
32Date: Tue, 10 Nov 2015 10:10:34 +1100
33Subject: xfs: give all workqueues rescuer threads
34
35We're consistently hitting deadlocks here with XFS on recent kernels.
36After some digging through the crash files, it looks like everyone in
37the system is waiting for XFS to reclaim memory.
38
39Something like this:
40
41PID: 2733434 TASK: ffff8808cd242800 CPU: 19 COMMAND: "java"
42 #0 [ffff880019c53588] __schedule at ffffffff818c4df2
43 #1 [ffff880019c535d8] schedule at ffffffff818c5517
44 #2 [ffff880019c535f8] _xfs_log_force_lsn at ffffffff81316348
45 #3 [ffff880019c53688] xfs_log_force_lsn at ffffffff813164fb
46 #4 [ffff880019c536b8] xfs_iunpin_wait at ffffffff8130835e
47 #5 [ffff880019c53728] xfs_reclaim_inode at ffffffff812fd453
48 #6 [ffff880019c53778] xfs_reclaim_inodes_ag at ffffffff812fd8c7
49 #7 [ffff880019c53928] xfs_reclaim_inodes_nr at ffffffff812fe433
50 #8 [ffff880019c53958] xfs_fs_free_cached_objects at ffffffff8130d3b9
51 #9 [ffff880019c53968] super_cache_scan at ffffffff811a6f73
52#10 [ffff880019c539c8] shrink_slab at ffffffff811460e6
53#11 [ffff880019c53aa8] shrink_zone at ffffffff8114a53f
54#12 [ffff880019c53b48] do_try_to_free_pages at ffffffff8114a8ba
55#13 [ffff880019c53be8] try_to_free_pages at ffffffff8114ad5a
56#14 [ffff880019c53c78] __alloc_pages_nodemask at ffffffff8113e1b8
57#15 [ffff880019c53d88] alloc_kmem_pages_node at ffffffff8113e671
58#16 [ffff880019c53dd8] copy_process at ffffffff8104f781
59#17 [ffff880019c53ec8] do_fork at ffffffff8105129c
60#18 [ffff880019c53f38] sys_clone at ffffffff810515b6
61#19 [ffff880019c53f48] stub_clone at ffffffff818c8e4d
62
63xfs_log_force_lsn is waiting for logs to get cleaned, which is waiting
64for IO, which is waiting for workers to complete the IO which is waiting
65for worker threads that don't exist yet:
66
67PID: 2752451 TASK: ffff880bd6bdda00 CPU: 37 COMMAND: "kworker/37:1"
68 #0 [ffff8808d20abbb0] __schedule at ffffffff818c4df2
69 #1 [ffff8808d20abc00] schedule at ffffffff818c5517
70 #2 [ffff8808d20abc20] schedule_timeout at ffffffff818c7c6c
71 #3 [ffff8808d20abcc0] wait_for_completion_killable at ffffffff818c6495
72 #4 [ffff8808d20abd30] kthread_create_on_node at ffffffff8106ec82
73 #5 [ffff8808d20abdf0] create_worker at ffffffff8106752f
74 #6 [ffff8808d20abe40] worker_thread at ffffffff810699be
75 #7 [ffff8808d20abec0] kthread at ffffffff8106ef59
76 #8 [ffff8808d20abf50] ret_from_fork at ffffffff818c8ac8
77
78I think we should be using WQ_MEM_RECLAIM to make sure this thread
79pool makes progress when we're not able to allocate new workers.
80
81[dchinner: make all workqueues WQ_MEM_RECLAIM]
82
83Signed-off-by: Chris Mason <clm@fb.com>
84Reviewed-by: Dave Chinner <dchinner@redhat.com>
85Signed-off-by: Dave Chinner <david@fromorbit.com>
86---
87 fs/xfs/xfs_super.c | 7 ++++---
88 1 file changed, 4 insertions(+), 3 deletions(-)
89
90diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
91index 29531ec..65fbfb7 100644
92--- a/fs/xfs/xfs_super.c
93+++ b/fs/xfs/xfs_super.c
94@@ -838,17 +838,18 @@ xfs_init_mount_workqueues(
95 goto out_destroy_unwritten;
96
97 mp->m_reclaim_workqueue = alloc_workqueue("xfs-reclaim/%s",
98- WQ_FREEZABLE, 0, mp->m_fsname);
99+ WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname);
100 if (!mp->m_reclaim_workqueue)
101 goto out_destroy_cil;
102
103 mp->m_log_workqueue = alloc_workqueue("xfs-log/%s",
104- WQ_FREEZABLE|WQ_HIGHPRI, 0, mp->m_fsname);
105+ WQ_MEM_RECLAIM|WQ_FREEZABLE|WQ_HIGHPRI, 0,
106+ mp->m_fsname);
107 if (!mp->m_log_workqueue)
108 goto out_destroy_reclaim;
109
110 mp->m_eofblocks_workqueue = alloc_workqueue("xfs-eofblocks/%s",
111- WQ_FREEZABLE, 0, mp->m_fsname);
112+ WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname);
113 if (!mp->m_eofblocks_workqueue)
114 goto out_destroy_log;
115
116--
117cgit v0.11.2
118
This page took 0.071151 seconds and 4 git commands to generate.