]> Zhao Yanbai Git Server - minix.git/commitdiff
vm: only suspend and resume process with vmctls in pt_writemap in smp mode
authorBen Gras <ben@minix3.org>
Fri, 11 Feb 2011 14:56:52 +0000 (14:56 +0000)
committerBen Gras <ben@minix3.org>
Fri, 11 Feb 2011 14:56:52 +0000 (14:56 +0000)
servers/vm/arch/i386/pagetable.c

index b07222c44992d84f3a87bce0ce02beccb152d275..746e8e1bd3edcf4f1b2830080767f8f5a9b7c88d 100644 (file)
@@ -656,6 +656,7 @@ PUBLIC int pt_writemap(struct vmproc * vmp,
        int verify = 0;
        int ret = OK;
 
+#ifdef CONFIG_SMP
        /* FIXME
         * don't do it everytime, stop the process only on the first change and
         * resume the execution on the last change. Do in a wrapper of this
@@ -664,6 +665,7 @@ PUBLIC int pt_writemap(struct vmproc * vmp,
        if (vmp && vmp->vm_endpoint != NONE && vmp->vm_endpoint != VM_PROC_NR &&
                        !(vmp->vm_flags & VMF_EXITING))
                sys_vmctl(vmp->vm_endpoint, VMCTL_VMINHIBIT_SET, 0);
+#endif
 
        if(writemapflags & WMF_VERIFY)
                verify = 1;
@@ -761,9 +763,11 @@ PUBLIC int pt_writemap(struct vmproc * vmp,
 
 resume_exit:
 
+#ifdef CONFIG_SMP
        if (vmp && vmp->vm_endpoint != NONE && vmp->vm_endpoint != VM_PROC_NR &&
                        !(vmp->vm_flags & VMF_EXITING))
                sys_vmctl(vmp->vm_endpoint, VMCTL_VMINHIBIT_CLEAR, 0);
+#endif
 
        return ret;
 }