On 07/21/2011 02:46 PM, Avi Kivity wrote: > On 07/21/2011 03:26 PM, Ferry Huberts wrote: >> >> > +void memory_region_transaction_begin(void) >> >> > +{ >> >> > + ++memory_region_transaction_depth; >> >> > +} >> >> > + >> >> >> >> wouldn't you rather keep it safe by doing either here >> >> >> >> if (!memory_region_transaction_depth) >> >> memory_region_transaction_depth++; >> >> >> > >> > Why? I want to allow nesting transactions (not that I anticipate >> such a >> > case). >> > >> >> doesn't memory_region_update_topology commit all accumulated changes? > > It does. > >> if >> it does then memory_region_transaction_depth is left non-zero in the >> nesting case while no more changes are actually present, resulting in >> superfluous calls to memory_region_update_topology. >> >> maybe I misunderstood memory_region_update_topology? >> > > update_mapping() > { > m_r_t_begin(); > // call memory API functions to change hierarchy > some_other_function() entered > m_r_t_begin(); > // call more memory API functions to change hierarchy > m_r_t_commit(); // nothing happens > some_other_function() exits > // call even more memory API functions to change hierarchy > m_r_t_commit(); // all accumulated changes become visible > } > ahhh. I completely read over the memory_region_update_topology change. shame on me, sorry for the confusion! -- Ferry Huberts -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html