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

Reply via email to