On 2011-09-27 16:42, Avi Kivity wrote: > On 09/27/2011 05:36 PM, Jan Kiszka wrote: >> On 2011-09-27 16:34, Avi Kivity wrote: >>> On 09/27/2011 05:29 PM, Jan Kiszka wrote: >>>>> >>>>> Moreover, the eventfd() counter is not lossy (practically speaking) >>>>> whereas if >>>>> you use pipe() as a counter, it will be lossy in practice. >>>>> >>>>> This is why posix aio uses pipe() and not eventfd(). >>>> >>>> I don't get this yet. eventfd is lossy by default. It only decreases the >>>> counter on read if you specify EFD_SEMAPHORE - which we do not do. >>>> >>> >>> It's not lossy - a read returns the number of events written since the >>> last read. >> >> Yeah, but what's the point? We don't evaluate this. >> >> > > If we write an interface that looks like eventfd but subtly differs, > someone will get bitten. If we write a new interface and implement it > via eventfd (or a pipe), no one gets bitten.
I don't disagree that there is still room for improving the existing interface, generalizing to qemu_event. But that's not in the scope of this patch. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux