Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  rcu: Add missing __cpuinit annotation in rcutorture code
  sched: Add "const" to is_idle_task() parameter
  rcu: Make rcutorture bool parameters really bool (core code)
  memblock: Fix alloc failure due to dumb underflow protection in memblock_find_in_range_node()
This commit is contained in:
Linus Torvalds 2012-01-26 12:45:41 -08:00
commit 2437dcbf55
3 changed files with 10 additions and 7 deletions

View file

@ -2090,7 +2090,7 @@ extern struct task_struct *idle_task(int cpu);
* is_idle_task - is the specified task an idle task? * is_idle_task - is the specified task an idle task?
* @p: the task in question. * @p: the task in question.
*/ */
static inline bool is_idle_task(struct task_struct *p) static inline bool is_idle_task(const struct task_struct *p)
{ {
return p->pid == 0; return p->pid == 0;
} }

View file

@ -56,8 +56,8 @@ static int nreaders = -1; /* # reader threads, defaults to 2*ncpus */
static int nfakewriters = 4; /* # fake writer threads */ static int nfakewriters = 4; /* # fake writer threads */
static int stat_interval; /* Interval between stats, in seconds. */ static int stat_interval; /* Interval between stats, in seconds. */
/* Defaults to "only at end of test". */ /* Defaults to "only at end of test". */
static int verbose; /* Print more debug info. */ static bool verbose; /* Print more debug info. */
static int test_no_idle_hz; /* Test RCU's support for tickless idle CPUs. */ static bool test_no_idle_hz; /* Test RCU's support for tickless idle CPUs. */
static int shuffle_interval = 3; /* Interval between shuffles (in sec)*/ static int shuffle_interval = 3; /* Interval between shuffles (in sec)*/
static int stutter = 5; /* Start/stop testing interval (in sec) */ static int stutter = 5; /* Start/stop testing interval (in sec) */
static int irqreader = 1; /* RCU readers from irq (timers). */ static int irqreader = 1; /* RCU readers from irq (timers). */
@ -1399,7 +1399,7 @@ rcu_torture_shutdown(void *arg)
* Execute random CPU-hotplug operations at the interval specified * Execute random CPU-hotplug operations at the interval specified
* by the onoff_interval. * by the onoff_interval.
*/ */
static int static int __cpuinit
rcu_torture_onoff(void *arg) rcu_torture_onoff(void *arg)
{ {
int cpu; int cpu;
@ -1447,7 +1447,7 @@ rcu_torture_onoff(void *arg)
return 0; return 0;
} }
static int static int __cpuinit
rcu_torture_onoff_init(void) rcu_torture_onoff_init(void)
{ {
if (onoff_interval <= 0) if (onoff_interval <= 0)

View file

@ -106,14 +106,17 @@ phys_addr_t __init_memblock memblock_find_in_range_node(phys_addr_t start,
if (end == MEMBLOCK_ALLOC_ACCESSIBLE) if (end == MEMBLOCK_ALLOC_ACCESSIBLE)
end = memblock.current_limit; end = memblock.current_limit;
/* adjust @start to avoid underflow and allocating the first page */ /* avoid allocating the first page */
start = max3(start, size, (phys_addr_t)PAGE_SIZE); start = max_t(phys_addr_t, start, PAGE_SIZE);
end = max(start, end); end = max(start, end);
for_each_free_mem_range_reverse(i, nid, &this_start, &this_end, NULL) { for_each_free_mem_range_reverse(i, nid, &this_start, &this_end, NULL) {
this_start = clamp(this_start, start, end); this_start = clamp(this_start, start, end);
this_end = clamp(this_end, start, end); this_end = clamp(this_end, start, end);
if (this_end < size)
continue;
cand = round_down(this_end - size, align); cand = round_down(this_end - size, align);
if (cand >= this_start) if (cand >= this_start)
return cand; return cand;