[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1709252216410.2418@nanos>
Date: Mon, 25 Sep 2017 22:42:22 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Vallish Vaidyeshwara <vallish@...zon.com>
cc: Eric Dumazet <eric.dumazet@...il.com>,
Eduardo Valentin <eduval@...zon.com>,
David Miller <davem@...emloft.net>, dwmw2@...radead.org,
shuah@...nel.org, richardcochran@...il.com,
xiyou.wangcong@...il.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, anchalag@...zon.com, dwmw@...zon.com
Subject: Re: [PATCH v2 0/2] enable hires timer to timeout datagram socket
On Wed, 20 Sep 2017, Vallish Vaidyeshwara wrote:
> On Sat, Sep 16, 2017 at 11:47:56AM +0200, Thomas Gleixner wrote:
> > > So if we need to replace all 'legacy' timers to high resolution timer,
> > > because some application was _relying_ on jiffies being kind of precise,
> > > maybe it is better to revert the change done on legacy timers.
> >
> > Which would be a major step back in terms of timer performance and system
> > disturbance caused by massive recascading operations.
> >
> > > Or continue the migration and make them use high res internally.
> > >
> > > select() and poll() are the standard way to have precise timeouts,
> > > it is silly we have to maintain a timeout handling in the datagram fast
> > > path.
> >
> > A few years ago we switched select/poll over to use hrtimers because the
> > wheel timers were too inaccurate for some operations, so it feels
> > consequent to switch the timeout in the datagram rcv path over as well. I
> > agree that the whole timeout magic there feels silly, but unfortunately
> > it's a documented property of sockets.
> >
>
> Thanks for your comments. This patch has been NACK'ed by David Miller. Is
> there any other approach to solve this problem with out application code
> being recompiled?
We have only three options here:
1) Do a massive revert of the timer wheel changes and lose all the
benefits of that rework.
2) Make that timer list -> hrtimer change in the datagram code
3) Ignore it
#1 Would be pretty ironic as networking would take the biggest penalty of
the revert.
#2 Is IMO the proper solution as it cures a user space visible regression,
though the patch itself could be made way simpler
#3 Shrug
Dave, Eric?
Thanks,
tglx
Powered by blists - more mailing lists