From owner-freebsd-arm@freebsd.org Thu Mar 16 18:09:51 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79EC0D0F21F for ; Thu, 16 Mar 2017 18:09:51 +0000 (UTC) (envelope-from andrew@tao11.riddles.org.uk) Received: from lungold.riddles.org.uk (lungold.riddles.org.uk [82.68.208.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 22F84160E; Thu, 16 Mar 2017 18:09:50 +0000 (UTC) (envelope-from andrew@tao11.riddles.org.uk) Received: from [192.168.127.1] (port=44114 helo=caithnard.riddles.org.uk) by lungold.riddles.org.uk with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.88 (FreeBSD)) (envelope-from ) id 1coZqO-000HUd-0F; Thu, 16 Mar 2017 18:09:48 +0000 Received: from [127.0.0.1] (port=23618 helo=caithnard.riddles.org.uk) by caithnard.riddles.org.uk with esmtp (Exim 4.89 (FreeBSD)) (envelope-from ) id 1coZqN-000I0E-BS; Thu, 16 Mar 2017 18:09:47 +0000 From: Andrew Gierth To: Michal Meloun Cc: Sylvain Garrigues , mmel@freebsd.org, freebsd-arm Subject: Re: Is CPUTYPE=cortex-A7 supposed to work? In-Reply-To: <67504df9-9452-3ad3-b3b0-01d1a03727cc@freebsd.org> (Michal Meloun's message of "Thu, 16 Mar 2017 17:51:49 +0100") Message-ID: <87lgs52kke.fsf@news-spur.riddles.org.uk> References: <871suc3nv8.fsf@news-spur.riddles.org.uk> <8737ely05c.fsf@news-spur.riddles.org.uk> <87wpbxw3yd.fsf@news-spur.riddles.org.uk> <79EBD44B-2C2D-4394-A90C-DF494A049F20@dsl-only.net> <674facba-68cd-8ce1-887a-1ef3c51520bc@freebsd.org> <67504df9-9452-3ad3-b3b0-01d1a03727cc@freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (berkeley-unix) Date: Thu, 16 Mar 2017 18:09:47 +0000 MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Mar 2017 18:09:51 -0000 >>>>> "Michal" == Michal Meloun writes: Michal> Is this enough to confirm that the FPU instructions in a signal Michal> handler is not used so frequently? Actually what it confirms is that it's rare for applications to use signal delivery heavily. Emacs is a notorious exception to this, since it has used SIGIO since time immemorial to have incoming keystrokes interrupt terminal redisplay (important on slow serial terminals, oh the nostalgia) and it kept the same basic design when moving to X, so it now gets SIGIO on X events, resulting in hundreds of signal deliveries just from moving the mouse past its window. To say that this is not normal application behaviour would be a massive understatement. The problem manifests in git clone despite the fact that signal delivery is infrequent there simply because it spends so much of its time executing the vectorized SHA1 block update; again, normal applications don't do this kind of thing, and are likely to use the VFP/NEON registers too transiently for there to be a significant chance of detectable corruption. Even most crypto apps wouldn't often take a signal delivery while running crypto code. As an example, I happen to be very familiar with PostgreSQL, which by normal standards (as opposed to Emacs standards) is a fairly heavy user of signals, and I don't think I could come up with a reliable demonstration of it being affected by this bug (except maybe by using SSL client connections). What I _would_ expect is that pgsql running on affected systems would experience a very slow rate of subtle data corruption problems, which might or might not ever be noticed. -- Andrew.