On Mon, Jul 12, 2010 at 09:33:12AM +0300, Avi Kivity wrote:
On 07/11/2010 09:30 PM, Avi Kivity wrote:
Registering an eventfd for the eoi seems like a reasonable alternative.
I'm worried about that racing (with what?)
I don't think there's a problem.
First, the EOI message is itself asynchronous. While the write to
the local APIC is synchronous, effects on the rest of the system are
effected using an APIC message, which travels asynchronously.
Second, a component that needs timely information doesn't have to
wait; it can read the eventfd and be sure it has seen all EOIs up to
now.
I remember we already discussed the use of eventfd for reporting EOI and
decided against it, but I don't remember why. :( Was it because if we
are going to export EOI to userspace anyway we want to be able to use it
for RTC timedrift fixing and for that we need to know what CPU called
EOI and eventfd can't provide that?