X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=init%2Fmain.c;h=5d0eb1d2af8f529d3abeefbfac85094eddaf7ec2;hb=22cbb1bd14275c52a659e8f42bfceddfea24d785;hp=217ed23e94875d59ffd7b6a95562fcba36112e08;hpb=62d7a2927f99be77cfb0ad2ef778bf12ced01193;p=pandora-kernel.git diff --git a/init/main.c b/init/main.c index 217ed23e9487..5d0eb1d2af8f 100644 --- a/init/main.c +++ b/init/main.c @@ -563,9 +563,6 @@ asmlinkage void __init start_kernel(void) early_boot_irqs_disabled = false; local_irq_enable(); - /* Interrupts are enabled now so all GFP allocations are safe. */ - gfp_allowed_mask = __GFP_BITS_MASK; - kmem_cache_init_late(); /* @@ -609,7 +606,7 @@ asmlinkage void __init start_kernel(void) pidmap_init(); anon_vma_init(); #ifdef CONFIG_X86 - if (efi_enabled) + if (efi_enabled(EFI_RUNTIME_SERVICES)) efi_enter_virtual_mode(); #endif thread_info_cache_init(); @@ -798,6 +795,10 @@ static int __init kernel_init(void * unused) * Wait until kthreadd is all set-up. */ wait_for_completion(&kthreadd_done); + + /* Now the scheduler is fully set up and can do blocking allocations */ + gfp_allowed_mask = __GFP_BITS_MASK; + /* * init can allocate pages on any node */