Skip to content

Commit

Permalink
clear pending status before calling memory commit
Browse files Browse the repository at this point in the history
clear pending status before calling memory commit.
Otherwise when memory_region_finalize is called,
memory_region_transaction_depth is 0 and
memory_region_update_pending is true.
That's wrong.

Signed-off -by: Anthony Xu <[email protected]>

Message-Id: <4712D8F4B26E034E80552F30A67BE0B1A2E3D5@ORSMSX112.amr.corp.intel.com>

Signed-off-by: Paolo Bonzini <[email protected]>
  • Loading branch information
Xu, Anthony authored and bonzini committed Mar 24, 2017
1 parent 0832970 commit ade9c1a
Showing 1 changed file with 2 additions and 8 deletions.
10 changes: 2 additions & 8 deletions memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -906,12 +906,6 @@ void memory_region_transaction_begin(void)
++memory_region_transaction_depth;
}

static void memory_region_clear_pending(void)
{
memory_region_update_pending = false;
ioeventfd_update_pending = false;
}

void memory_region_transaction_commit(void)
{
AddressSpace *as;
Expand All @@ -927,14 +921,14 @@ void memory_region_transaction_commit(void)
QTAILQ_FOREACH(as, &address_spaces, address_spaces_link) {
address_space_update_topology(as);
}

memory_region_update_pending = false;
MEMORY_LISTENER_CALL_GLOBAL(commit, Forward);
} else if (ioeventfd_update_pending) {
QTAILQ_FOREACH(as, &address_spaces, address_spaces_link) {
address_space_update_ioeventfds(as);
}
ioeventfd_update_pending = false;
}
memory_region_clear_pending();
}
}

Expand Down

0 comments on commit ade9c1a

Please sign in to comment.