On 21/01/2015 09:58, Fam Zheng wrote: >> > See my comment in the earlier mail. If you split this into two >> > APIs, and epoll_ctl_batch() is guaranteed to execute 'cmds' in order, >> > then the return value of epoll_ctl_batch() could be used to tell >> > user space how many commands succeeded. Much simpler! > Yes it is much simpler. However the reason to add batching in the first place is > to make epoll faster, by reducing syscalls. Splitting makes the result > sub-optimal: we still need at least 2 calls instead of 1. Each one of the three > proposed new call *is* a step forward, but I don't think we will have everything > solved even by implementing them all. Compromise needed between performance or > complexity. > > My take for simplicity will be leaving epoll_ctl as-is, and my take for > performance will be epoll_pwait1. And I don't really like putting my time on > epoll_ctl_batch, thinking it as a ambivalent compromise in between. I agree with Michael actually. The big change is going from O(n) epoll_ctl calls to O(1), and epoll_ctl_batch achieves that just fine. Changing 2 syscalls to 1 is the icing on the cake, but we're talking of a fraction of a microsecond. Paolo -- 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