From owner-freebsd-current@FreeBSD.ORG Thu Feb 5 15:22:20 2015 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3D7BCE3; Thu, 5 Feb 2015 15:22:20 +0000 (UTC) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id F19B1B92; Thu, 5 Feb 2015 15:22:18 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id B45177300A; Thu, 5 Feb 2015 16:22:23 +0100 (CET) Date: Thu, 5 Feb 2015 16:22:23 +0100 From: Luigi Rizzo To: John Baldwin Subject: Re: PSA: If you run -current, beware! Message-ID: <20150205152223.GA59664@onelab2.iet.unipi.it> References: <8089702.oYScRm8BTN@overcee.wemm.org> <2509923.ondFvsFdql@overcee.wemm.org> <2613155.3ZBxDvY16q@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2613155.3ZBxDvY16q@ralph.baldwin.cx> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: Konstantin Belousov , freebsd-current@freebsd.org, Peter Wemm X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Feb 2015 15:22:20 -0000 On Thu, Feb 05, 2015 at 08:21:45AM -0500, John Baldwin wrote: > On Thursday, February 05, 2015 08:48:33 AM Luigi Rizzo wrote: ... > > > > It is fixed (in the proper meaning of the word, not like worked around, > > > > covered by paper) by the patch at the end of the mail. > > > > > > > > We already have a story trying to enable much less ambitious option > > > > -fno-strict-overflow, see r259045 and the revert in r259422. I do not > > > > see other way than try one more time. Too many places in kernel > > > > depend on the correctly wrapping 2-complement arithmetic, among others > > > > are callweel and scheduler. > > > > Rather than depending on a compiler option, wouldn't it be better/more > > robust to change ticks to unsigned, which has specified wrapping behavior? > > Yes, but non-trivial. It's also not limited to ticks. Since the compiler > knows when it would apply these optimizations, it would be nice if it could > warn instead (GCC apparently has a warning, but clang does not). Having > people do a manual audit of every signed integer expression in the tree will > take a long time. I think I misunderstood the problem as being limited to ticks, which is probably only one symptom of a fundamental change in behaviour of the compiler. Still, it might be worthwhile start looking at ints that ought to be implemented as u_int cheers luigi