svn commit: r300596 - head/sys/vm
Konstantin Belousov
kib at FreeBSD.org
Tue May 24 10:21:40 UTC 2016
Author: kib
Date: Tue May 24 10:21:39 2016
New Revision: 300596
URL: https://svnweb.freebsd.org/changeset/base/300596
Log:
In vm_page_alloc_contig(), on vm_page_insert() failure, mark each
freed page as VPO_UNMANAGED. Otherwise vm_pge_free_toq() insists on
owning the page lock.
Previously, VPO_UNMANAGED was only set up to the last processed page.
Reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Modified:
head/sys/vm/vm_page.c
Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c Tue May 24 10:16:03 2016 (r300595)
+++ head/sys/vm/vm_page.c Tue May 24 10:21:39 2016 (r300596)
@@ -1944,8 +1944,10 @@ retry:
m < &m_ret[npages]; m++) {
if ((req & VM_ALLOC_WIRED) != 0)
m->wire_count = 0;
- if (m >= m_tmp)
+ if (m >= m_tmp) {
m->object = NULL;
+ m->oflags |= VPO_UNMANAGED;
+ }
vm_page_free(m);
}
return (NULL);
More information about the svn-src-all
mailing list