|
@@ -154,8 +154,12 @@ void cpupri_set(struct cpupri *cp, int cpu, int newpri)
|
|
|
*/
|
|
|
int __init_refok cpupri_init(struct cpupri *cp, bool bootmem)
|
|
|
{
|
|
|
+ gfp_t gfp = GFP_KERNEL;
|
|
|
int i;
|
|
|
|
|
|
+ if (bootmem)
|
|
|
+ gfp = GFP_NOWAIT;
|
|
|
+
|
|
|
memset(cp, 0, sizeof(*cp));
|
|
|
|
|
|
for (i = 0; i < CPUPRI_NR_PRIORITIES; i++) {
|
|
@@ -163,9 +167,7 @@ int __init_refok cpupri_init(struct cpupri *cp, bool bootmem)
|
|
|
|
|
|
spin_lock_init(&vec->lock);
|
|
|
vec->count = 0;
|
|
|
- if (bootmem)
|
|
|
- alloc_bootmem_cpumask_var(&vec->mask);
|
|
|
- else if (!zalloc_cpumask_var(&vec->mask, GFP_KERNEL))
|
|
|
+ if (!zalloc_cpumask_var(&vec->mask, gfp))
|
|
|
goto cleanup;
|
|
|
}
|
|
|
|