Re: [RFC 0/4] transaction-based ptimer API

2019-10-04 Thread Paolo Bonzini
On 04/10/19 14:00, Peter Maydell wrote: > No, because stop/run causes the ptimer to "lose time" > (we stop the underlying timer and restart it). It's > very common for a device to want to change the ptimer > properties without a stop/restart -- "set the ptimer > count value when the guest writes to

Re: [RFC 0/4] transaction-based ptimer API

2019-10-04 Thread Paolo Bonzini
On 04/10/19 13:48, Peter Maydell wrote: > must be between matched calls to ptimer_transaction_begin() and > ptimer_transaction_commit(). When ptimer_transaction_commit() is > called it will evaluate the state of the timer after all the changes > in the transaction, and call the callback if necessa

Re: [RFC 0/4] transaction-based ptimer API

2019-10-04 Thread Peter Maydell
On Fri, 4 Oct 2019 at 12:57, Paolo Bonzini wrote: > > On 04/10/19 13:48, Peter Maydell wrote: > > must be between matched calls to ptimer_transaction_begin() and > > ptimer_transaction_commit(). When ptimer_transaction_commit() is > > called it will evaluate the state of the timer after all the c

[RFC 0/4] transaction-based ptimer API

2019-10-04 Thread Peter Maydell
Currently the ptimer design uses a QEMU bottom-half as its mechanism for calling back into the device model using the ptimer when the timer has expired. Unfortunately this design is fatally flawed, because it means that there is a lag between the ptimer updating its own state and the device callba