From owner-svn-src-head@freebsd.org Tue Aug 14 15:38:53 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE2B5107BC59; Tue, 14 Aug 2018 15:38:53 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 848A275638; Tue, 14 Aug 2018 15:38:53 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from [192.168.1.5] (c-71-198-162-232.hsd1.ca.comcast.net [71.198.162.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id C1B86C44A; Tue, 14 Aug 2018 15:38:52 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/10.f.0.180709 Date: Tue, 14 Aug 2018 08:38:49 -0700 Subject: Re: svn commit: r337754 - head/sys/x86/x86 From: Ravi Pokala To: Andriy Gapon , Mark Johnston , , , Message-ID: <4C558668-E3D9-4EEF-BE93-7D2147E7B17E@panasas.com> Thread-Topic: svn commit: r337754 - head/sys/x86/x86 References: <201808141402.w7EE2seW007725@repo.freebsd.org> In-Reply-To: Mime-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Aug 2018 15:38:54 -0000 -----Original Message----- From: on behalf of Andriy Gapon Date: 2018-08-14, Tuesday at 08:34 To: Mark Johnston , , , Subject: Re: svn commit: r337754 - head/sys/x86/x86 > On 14/08/2018 17:02, Mark Johnston wrote: >> At some point memcpy() may be an ifunc, ifunc resolution cannot be done >> until CPU identification has been performed, and CPU identification must >> be done after loading any microcode updates. > > Wouldn't it be cool if before an ifunc is resolved (to a proper > optimized version) it pointed to a default implementation that is > sufficiently naive and robust that it can work on all CPUs? > But I don't know much about ifunc implementation, so no idea if it can > work like that. Or, if that can't be done, have a pre_ifunc_memcpy() with the default implementation, which is explicitly for use before ifuncs are set up. -Ravi > -- > Andriy Gapon