[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1383164352.1601.38.camel@bwh-desktop.uk.level5networks.com>
Date: Wed, 30 Oct 2013 20:19:12 +0000
From: Ben Hutchings <bhutchings@...arflare.com>
To: <paulmck@...ux.vnet.ibm.com>
CC: Jesper Dangaard Brouer <brouer@...hat.com>,
<netdev@...r.kernel.org>, "Eric Dumazet" <eric.dumazet@...il.com>,
Dave Taht <dave.taht@...il.com>
Subject: Re: [net-next PATCH] net: codel: Avoid undefined behavior from
signed overflow
On Wed, 2013-10-30 at 13:13 -0700, Paul E. McKenney wrote:
> On Wed, Oct 30, 2013 at 07:35:48PM +0000, Ben Hutchings wrote:
> > On Wed, 2013-10-30 at 18:23 +0100, Jesper Dangaard Brouer wrote:
> > > From: Jesper Dangaard Brouer <netoptimizer@...uer.com>
> > >
> > > As described in commit 5a581b367 (jiffies: Avoid undefined
> > > behavior from signed overflow), according to the C standard
> > > 3.4.3p3, overflow of a signed integer results in undefined
> > > behavior.
> > [...]
> >
> > According to the real processors that Linux runs on, signed arithmetic
> > uses 2's complement representation and overflow wraps accordingly. And
> > we rely on that behaviour in many places, so we use
> > '-fno-strict-overflow' to tell gcc not to assume we avoid signed
> > overflow. (There is also '-fwrapv' which tells gcc to assume the
> > processor behaves this way, but shouldn't it already know how the target
> > machine works?)
>
> We should still fix them as we come across them. There are a few types
> of loops where '-fno-strict-overflow' results in more instructions
> being generated.
I realise there's an opportunity for optimisation, but if these cases
are fixed on an ad-hoc basis, how will we know we're ready to make the
switch?
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists