On Tue, Jul 20, 2021 at 06:26:48PM +0100, Anton Ivanov wrote: > > On 19/07/2021 21:52, Ben Pfaff wrote: > > On Fri, Jul 16, 2021 at 02:42:32PM +0100, [email protected] > > wrote: > > > From: Anton Ivanov <[email protected]> > > > > > > If we are not obtaining any useful information out of the poll(), > > > such as is a fd busy or not, we do not need to do a poll() if > > > an immediate_wake() has been requested. > > > > > > This cuts out all the pollfd hash additions, forming the poll > > > arguments and the actual poll() after a call to > > > poll_immediate_wake() > > > > > > Signed-off-by: Anton Ivanov <[email protected]> > > Thanks for v3. > > > > I believe that the existing code here properly handles the pathological > > case where the current time is less than 0. This is a case that I have > > seen happen on real systems that have a real-time clock with a bad > > current time and do not have proper support for a monotonic clock. I > > believe that your new code does not properly handle this case, because > > it treats all times less than 0 as immediate. I think that you can fix > > it by comparing against LLONG_MIN rather than zero. > > > > In poll-loop, I would move > > COVERAGE_INC(poll_zero_timeout); > > inside the new statement that is already conditional on timeout_when == > > LLONG_MIN. > > > > I don't like the new assumption in time_poll() that n_pollfds == 0 means > > we're waking immediately. > > > > Thanks, > > > > Ben. > > > Updated, all logic is now strictly based on timeout == LLONG_MIN.
Thanks! _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
