On 12.08.15 at 19:24, andrew.coop...@citrix.com wrote:
On 12/08/15 16:26, Jan Beulich wrote:
On 12.08.15 at 17:13, andrew.coop...@citrix.com wrote:
On 12/08/15 15:19, Jan Beulich wrote:
@@ -422,6 +423,14 @@ static int paging_log_dirty_op(struct do
if ( !resuming )
{
+
On 12/08/15 15:19, Jan Beulich wrote:
Rather than dirtying a page when establishing a (permanent) mapping,
dirty it when the page gets unmapped, or - if still mapped - on the
final iteration of a save operation. (Transient mappings continue to
get dirtied upon getting mapped, to avoid the
On 12.08.15 at 17:13, andrew.coop...@citrix.com wrote:
On 12/08/15 15:19, Jan Beulich wrote:
+if ( writable *writable )
+{
+struct hvm_write_map *track = xmalloc(struct hvm_write_map);
+
+if ( !track )
+{
+put_page(page);
+return
Rather than dirtying a page when establishing a (permanent) mapping,
dirty it when the page gets unmapped, or - if still mapped - on the
final iteration of a save operation. (Transient mappings continue to
get dirtied upon getting mapped, to avoid the overhead of tracking.)
Signed-off-by: Jan
On 12/08/15 16:26, Jan Beulich wrote:
On 12.08.15 at 17:13, andrew.coop...@citrix.com wrote:
On 12/08/15 15:19, Jan Beulich wrote:
+if ( writable *writable )
+{
+struct hvm_write_map *track = xmalloc(struct hvm_write_map);
+
+if ( !track )
+{
+