VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / arch / ia64 / mm / init.c
index c03b398..3ab0b37 100644 (file)
@@ -63,6 +63,7 @@ check_pgt_cache (void)
        low = pgt_cache_water[0];
        high = pgt_cache_water[1];
 
+       preempt_disable();
        if (pgtable_cache_size > (u64) high) {
                do {
                        if (pgd_quicklist)
@@ -71,6 +72,7 @@ check_pgt_cache (void)
                                free_page((unsigned long)pmd_alloc_one_fast(0, 0));
                } while (pgtable_cache_size > (u64) low);
        }
+       preempt_enable();
 }
 
 void
@@ -128,7 +130,7 @@ ia64_init_addr_space (void)
                vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
                vma->vm_end = vma->vm_start + PAGE_SIZE;
                vma->vm_page_prot = protection_map[VM_DATA_DEFAULT_FLAGS & 0x7];
-               vma->vm_flags = VM_READ|VM_WRITE|VM_MAYREAD|VM_MAYWRITE|VM_GROWSUP;
+               vma->vm_flags = VM_DATA_DEFAULT_FLAGS | VM_GROWSUP;
                insert_vm_struct(current->mm, vma);
        }
 
@@ -169,7 +171,7 @@ free_initrd_mem (unsigned long start, unsigned long end)
 {
        struct page *page;
        /*
-        * EFI uses 4KB pages while the kernel can use 4KB  or bigger.
+        * EFI uses 4KB pages while the kernel can use 4KB or bigger.
         * Thus EFI and the kernel may have different page sizes. It is
         * therefore possible to have the initrd share the same page as
         * the end of the kernel (given current setup).
@@ -580,7 +582,7 @@ mem_init (void)
                if (!fsyscall_table[i] || nolwsys)
                        fsyscall_table[i] = sys_call_table[i] | 1;
        }
-       setup_gate();   /* setup gate pages before we free up boot memory... */
+       setup_gate();
 
 #ifdef CONFIG_IA32_SUPPORT
        ia32_boot_gdt_init();