On 03/13/2015 07:31 AM, Fam Zheng wrote: > On Thu, 03/12 11:02, Jason Baron wrote: >> On 03/09/2015 09:49 PM, Fam Zheng wrote: >> >> Hi, >> >> So it sounds like you are comparing original qemu code (which was using >> ppoll) vs. using epoll with these new syscalls. Curious if you have numbers >> comparing the existing epoll (with say the timerfd in your epoll set), so >> we can see the improvement relative to epoll. > I did compare them, but they are too close to see differences. The improvements > in epoll_pwait1 doesn't really help the hot path of guest IO, but it does > affect the program timer precision, that are used in various device emulations > in QEMU. > > Although it's kind of subtle and difficult to summarize here, I can give an > example in the IO throttling implementation in QEMU, to show the significance: > > The throttling algorithm computes a duration for the next IO, which is used to > arm a timer in order to delay the request a bit. As timers are always rounded > *UP* to the effective granularity, the timeout being 1ms in epoll_pwait is just > too coarse and will lead to severe inaccuracy. With epoll_pwait1, we can avoid > the rounding-up. right, but we could use the timerfd here to get the desired precision. > I think this idea could be pertty generally desired by other applications, too. > > Regarding the epoll_ctl_batch improvement, again, it is not going to disrupt > the numbers in the small workload I managed to test. > > Of course, if you have a specific application senario in mind, I will try it. :) I want to understand what new functionality these syscalls offer over what we have now. I mean we could show a micro-benchmark where these matter, but is that enough to justify these new syscalls given that I think we could implement library wrappers around what we have now to do what you are proposing here. Thanks, -Jason -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html