From: Ben Gras Date: Fri, 11 Feb 2011 14:56:52 +0000 (+0000) Subject: vm: only suspend and resume process with vmctls in pt_writemap in smp mode X-Git-Tag: v3.2.0~676 X-Git-Url: http://zhaoyanbai.com/repos/man.arpaname.html?a=commitdiff_plain;h=c7b2b11ec27d71dbf0af06a955f5b487551742aa;p=minix.git vm: only suspend and resume process with vmctls in pt_writemap in smp mode --- diff --git a/servers/vm/arch/i386/pagetable.c b/servers/vm/arch/i386/pagetable.c index b07222c44..746e8e1bd 100644 --- a/servers/vm/arch/i386/pagetable.c +++ b/servers/vm/arch/i386/pagetable.c @@ -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; }