NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/45975 CVS commit: src/sys/uvm
The following reply was made to PR port-xen/45975; it has been noted by GNATS.
From: "Manuel Bouyer" <bouyer%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: PR/45975 CVS commit: src/sys/uvm
Date: Mon, 20 Feb 2012 19:14:24 +0000
Module Name: src
Committed By: bouyer
Date: Mon Feb 20 19:14:24 UTC 2012
Modified Files:
src/sys/uvm: uvm_km.c uvm_kmguard.c uvm_map.c
Log Message:
When using uvm_km_pgremove_intrsafe() make sure mappings are removed
before returning the pages to the free pool. Otherwise, under Xen,
a page which still has a writable mapping could be allocated for
a PDP by another CPU and the hypervisor would refuse it (this is
PR port-xen/45975).
For this, move the pmap_kremove() calls inside uvm_km_pgremove_intrsafe(),
and do pmap_kremove()/uvm_pagefree() in batch of (at most) 16 entries
(as suggested by Chuck Silvers on tech-kern@, see also
http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012727.html and
followups).
To generate a diff of this commit:
cvs rdiff -u -r1.121 -r1.122 src/sys/uvm/uvm_km.c
cvs rdiff -u -r1.9 -r1.10 src/sys/uvm/uvm_kmguard.c
cvs rdiff -u -r1.314 -r1.315 src/sys/uvm/uvm_map.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index