On 07/21/2011 02:04 PM, Ferry Huberts wrote:
On 07/21/2011 12:21 PM, Avi Kivity wrote: > Allow changes to the memory hierarchy to be accumulated and > made visible all at once. This reduces computational effort, > especially when an accelerator (e.g. kvm) is involved. > > Useful when a single register update causes multiple changes > to an address space. > > > +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).
> +void memory_region_transaction_commit(void) > +{ > + if (!memory_region_transaction_depth) { > + abort(); > + } > + --memory_region_transaction_depth; > + memory_region_update_topology(); > +} > + or by doing here while (!memory_region_transaction_depth) memory_region_transaction_depth--; with your setup nesting transactions will not work correctly I think. You seem to have designed it to not do nesting, so it's safer to make that explicit in your code imho
Nesting should work just fine.
therefore I'd go for the change in _begin also, wouldn't you rather rename memory_region_transaction_depth to memory_region_transaction_pending?
The existing name works for me, but if people want it changed, that's fine too.
-- error compiling committee.c: too many arguments to function -- 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