From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id E4B2E2C0098 for ; Fri, 7 Jun 2013 22:07:14 +1000 (EST) Message-ID: <1370606822.3766.379.camel@pasglop> Subject: Re: fsqrt From: Benjamin Herrenschmidt To: "tiejun.chen" Date: Fri, 07 Jun 2013 22:07:02 +1000 In-Reply-To: <51B1A18A.6030002@windriver.com> References: <1368679657.9603.32.camel@pasglop> <6A3DF150A5B70D4F9B66A25E3F7C888D0701C307@039-SN2MPN1-012.039d.mgd.msft.net> <3E027F8168735B46AC006B1D0C7BB0020B1E040F@039-SN2MPN1-011.039d.mgd.msft.net> <1368684547.9603.38.camel@pasglop> <51947A00.9010504@windriver.com> <1368685307.9603.39.camel@pasglop> <51947E35.30808@windriver.com> <1368686426.9603.49.camel@pasglop> <5194800D.3010606@windriver.com> <6A3DF150A5B70D4F9B66A25E3F7C888D0701C498@039-SN2MPN1-012.039d.mgd.msft.net> <1368687133.9603.51.camel@pasglop> <1370577138.3766.342.camel@pasglop> <1370579976.3766.345.camel@pasglop> <3E027F8168735B46AC006B1D0C7BB0020B2135A0@039-SN2MPN1-012.039d.mgd.msft.net> <1370580426.3766.349.camel@pasglop> <3E027F8168735B46AC006B1D0C7BB0020B213817@039-SN2MPN1-012.039d.mgd.msft.net> <1370590884.3766.357.camel@pasglop> <51B18FD0.5040909@windriver.com> <1370595233.3766.360.camel@pasglop> <51B1A18A.6030002@windriver.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Cc: Xie Shaohui-B21989 , Liu Qiang-B32616 , Zang Roy-R61911 , Timur Tabi , Fleming Andy-AFLEMING , Bhushan Bharat-R65777 , "linuxppc-dev@lists.ozlabs.org" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Fri, 2013-06-07 at 17:02 +0800, tiejun.chen wrote: > On 06/07/2013 04:53 PM, Benjamin Herrenschmidt wrote: > > On Fri, 2013-06-07 at 15:46 +0800, tiejun.chen wrote: > >> On 06/07/2013 03:41 PM, Benjamin Herrenschmidt wrote: > >>> Another question... > >>> > >>> Do you guys happen to have a patch to emulate fsqrt in the kernel ? > >> > >> Seems this is already emulated: > >> > >> arch/powerpc/math-emu/fsqrt.c > >> > >> You can enable CONFIG_MATH_EMULATION to try. > > > > Is math emu expected to work at all on top of a real FPU ? I though it > > didn't ... maybe I'm wrong. > > As I understand often the real FPU can't support all float instructions, so we > have to enable this to emulate those unsupported float instructions in that > scenario. Ok, two things come to mind here: - do_mathemu doesn't do giveup_fpu() so the FPU state might still be in the "live" FP registers and not in the thread_struct, so it can't work... unless I missed something. - mathemu uses solely integers. For something like fsqrt it's going to suck a lot more than implementing using floating points in the kernel. Cheers, Ben.