aboutsummaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-07-18 11:14:23 +0100
committerMark Brown <broonie@linaro.org>2014-07-18 11:14:23 +0100
commit8e8420b5bc8de83907f7473c239b6a2472f493b9 (patch)
tree83fed3c6bfa35d5e42736173c34b52d2853871be /mm
parent2dad499c5077c61220a1dade05a27d15e306a4dc (diff)
parent3d3d802f6958dfd2c12e65e88a5c2ec9b5486c1a (diff)
Merge branch 'linux-linaro-lsk-v3.14' into linux-linaro-lsk-v3.14-android
Diffstat (limited to 'mm')
-rw-r--r--mm/Kconfig15
-rw-r--r--mm/mempolicy.c2
2 files changed, 15 insertions, 2 deletions
diff --git a/mm/Kconfig b/mm/Kconfig
index 9b63c1584a42..0862816bb455 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -580,3 +580,18 @@ config PGTABLE_MAPPING
You can check speed with zsmalloc benchmark:
https://github.com/spartacus06/zsmapbench
+
+config MAX_STACK_SIZE_MB
+ int "Maximum user stack size for 32-bit processes (MB)"
+ default 80
+ range 8 256 if METAG
+ range 8 2048
+ depends on STACK_GROWSUP && (!64BIT || COMPAT)
+ help
+ This is the maximum stack size in Megabytes in the VM layout of 32-bit
+ user processes when the stack grows upwards (currently only on parisc
+ and metag arch). The stack will be located at the highest memory
+ address minus the given value, unless the RLIMIT_STACK hard limit is
+ changed to a smaller value in which case that is used.
+
+ A sane initial value is 80 MB.
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index ccd5e30c443e..0213f7fad8a2 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2170,7 +2170,6 @@ struct mempolicy *__mpol_dup(struct mempolicy *old)
} else
*new = *old;
- rcu_read_lock();
if (current_cpuset_is_being_rebound()) {
nodemask_t mems = cpuset_mems_allowed(current);
if (new->flags & MPOL_F_REBINDING)
@@ -2178,7 +2177,6 @@ struct mempolicy *__mpol_dup(struct mempolicy *old)
else
mpol_rebind_policy(new, &mems, MPOL_REBIND_ONCE);
}
- rcu_read_unlock();
atomic_set(&new->refcnt, 1);
return new;
}