aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/sched.h2
-rw-r--r--kernel/rcutorture.c8
-rw-r--r--mm/memblock.c7
3 files changed, 10 insertions, 7 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 513f52459872..2234985a5e65 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2090,7 +2090,7 @@ extern struct task_struct *idle_task(int cpu);
2090 * is_idle_task - is the specified task an idle task? 2090 * is_idle_task - is the specified task an idle task?
2091 * @p: the task in question. 2091 * @p: the task in question.
2092 */ 2092 */
2093static inline bool is_idle_task(struct task_struct *p) 2093static inline bool is_idle_task(const struct task_struct *p)
2094{ 2094{
2095 return p->pid == 0; 2095 return p->pid == 0;
2096} 2096}
diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index 88f17b8a3b1d..a58ac285fc69 100644
--- a/kernel/rcutorture.c
+++ b/kernel/rcutorture.c
@@ -56,8 +56,8 @@ static int nreaders = -1; /* # reader threads, defaults to 2*ncpus */
56static int nfakewriters = 4; /* # fake writer threads */ 56static int nfakewriters = 4; /* # fake writer threads */
57static int stat_interval; /* Interval between stats, in seconds. */ 57static int stat_interval; /* Interval between stats, in seconds. */
58 /* Defaults to "only at end of test". */ 58 /* Defaults to "only at end of test". */
59static int verbose; /* Print more debug info. */ 59static bool verbose; /* Print more debug info. */
60static int test_no_idle_hz; /* Test RCU's support for tickless idle CPUs. */ 60static bool test_no_idle_hz; /* Test RCU's support for tickless idle CPUs. */
61static int shuffle_interval = 3; /* Interval between shuffles (in sec)*/ 61static int shuffle_interval = 3; /* Interval between shuffles (in sec)*/
62static int stutter = 5; /* Start/stop testing interval (in sec) */ 62static int stutter = 5; /* Start/stop testing interval (in sec) */
63static int irqreader = 1; /* RCU readers from irq (timers). */ 63static int irqreader = 1; /* RCU readers from irq (timers). */
@@ -1399,7 +1399,7 @@ rcu_torture_shutdown(void *arg)
1399 * Execute random CPU-hotplug operations at the interval specified 1399 * Execute random CPU-hotplug operations at the interval specified
1400 * by the onoff_interval. 1400 * by the onoff_interval.
1401 */ 1401 */
1402static int 1402static int __cpuinit
1403rcu_torture_onoff(void *arg) 1403rcu_torture_onoff(void *arg)
1404{ 1404{
1405 int cpu; 1405 int cpu;
@@ -1447,7 +1447,7 @@ rcu_torture_onoff(void *arg)
1447 return 0; 1447 return 0;
1448} 1448}
1449 1449
1450static int 1450static int __cpuinit
1451rcu_torture_onoff_init(void) 1451rcu_torture_onoff_init(void)
1452{ 1452{
1453 if (onoff_interval <= 0) 1453 if (onoff_interval <= 0)
diff --git a/mm/memblock.c b/mm/memblock.c
index 2f55f19b7c86..77b5f227e1d8 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -106,14 +106,17 @@ phys_addr_t __init_memblock memblock_find_in_range_node(phys_addr_t start,
106 if (end == MEMBLOCK_ALLOC_ACCESSIBLE) 106 if (end == MEMBLOCK_ALLOC_ACCESSIBLE)
107 end = memblock.current_limit; 107 end = memblock.current_limit;
108 108
109 /* adjust @start to avoid underflow and allocating the first page */ 109 /* avoid allocating the first page */
110 start = max3(start, size, (phys_addr_t)PAGE_SIZE); 110 start = max_t(phys_addr_t, start, PAGE_SIZE);
111 end = max(start, end); 111 end = max(start, end);
112 112
113 for_each_free_mem_range_reverse(i, nid, &this_start, &this_end, NULL) { 113 for_each_free_mem_range_reverse(i, nid, &this_start, &this_end, NULL) {
114 this_start = clamp(this_start, start, end); 114 this_start = clamp(this_start, start, end);
115 this_end = clamp(this_end, start, end); 115 this_end = clamp(this_end, start, end);
116 116
117 if (this_end < size)
118 continue;
119
117 cand = round_down(this_end - size, align); 120 cand = round_down(this_end - size, align);
118 if (cand >= this_start) 121 if (cand >= this_start)
119 return cand; 122 return cand;