linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support
       [not found] <20210802141245.1146772-1-arnd@kernel.org>
@ 2021-08-02 15:45 ` Martin Guy
  2021-08-03 11:40   ` Martin Guy
  2021-08-03 12:12   ` Linus Walleij
  0 siblings, 2 replies; 7+ messages in thread
From: Martin Guy @ 2021-08-02 15:45 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Russell King, Hartley Sweeten, Alexander Sverdlin, soc,
	Nikita Shubin, Arnd Bergmann, Oleg Nesterov, Hubert Feurstein,
	Lukasz Majewski, Catalin Marinas, Will Deacon, Nathan Chancellor,
	Nick Desaulniers, Linus Walleij, linux-arm-kernel, linux-kernel,
	clang-built-linux

On 02/08/2021, Arnd Bergmann <arnd@kernel.org> wrote:
> The MaverickCrunch support for ep93xx never made it into glibc

This is true, but is not needed except for preserving FP registers in
catch/throw exeptions or longjmps.

> was removed from gcc in its 4.8 release in 2012.

I was sad about that, as I had managed to get it working correctly in
4.2 4.3 and 4.4.
Unfortunately the GCC ARM maintainer at the time was paid by ARM, and
they had no interest in it, as I gather the ARM-Cirrus partnership
ended up disappointingly.

> It is now one of
> the last parts of arch/arm/ that fails to build with the clang
> integrated assembler

Even if crunch support is not configured?

> According to Hartley Sweeten:
>
>  "Martin Guy did a lot of work trying to get the maverick crunch working
>   but I was never able to successfully use it for anything.

>   It "kind" of works but depending on the EP93xx silicon revision

It works fine on all production revisions except D0 (the first one)
which is so rare as to be unfindable. All the others from D1 on have
the exact same HW bugs.

>   there are still a number of hardware bugs that either give imprecise or garbage results.

Not my experience, See http://martinwguy.net/crunch/#CorrectnessTests
If "imprecise" means "doesn't handle unnormalized FP values correctly"
then yes, that's a feature if you need the 2.5 to 4gimes speedup it
provides.
But I would be interested (Hartley) if you have a concrete example.

> This touches mostly the ep93xx platform,

The ep93xx is the only chip series it was ever included in.

> If there are remaining users of MaverickCrunch, they can use LTS
> kernels for at least another five years before kernel support ends.

The only user ! am aware of is the HEAT deep space telescope in the Antarctic
http://martinwguy.blogspot.com/2015/10/maverickcrunch-code-runs-on-heat-deep.html

Personally I have no problem with removing kernel support if that
makes people's lives easier in some way.

  M

   M

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support
  2021-08-02 15:45 ` [PATCH] ARM: ep93xx: remove MaverickCrunch support Martin Guy
@ 2021-08-03 11:40   ` Martin Guy
  2021-08-03 11:58     ` Arnd Bergmann
  2021-08-03 12:12   ` Linus Walleij
  1 sibling, 1 reply; 7+ messages in thread
From: Martin Guy @ 2021-08-03 11:40 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Russell King, Hartley Sweeten, Alexander Sverdlin, soc,
	Nikita Shubin, Arnd Bergmann, Oleg Nesterov, Hubert Feurstein,
	Lukasz Majewski, Catalin Marinas, Will Deacon, Nathan Chancellor,
	Nick Desaulniers, Linus Walleij, linux-arm-kernel, linux-kernel,
	clang-built-linux

I forward opinion from people currently producing and supporting EP93XX boards:

From: Technologic Systems Support Team <support@embeddedarm.com>
To: martinwguy@gmail.com
Cc: jerome.oufella@savoirfairelinux.com

> I expect our customers would care if support was dropped.
> Unfortunately I don't know to what extent.  I'd like to bring
> Jerome Oufella of Savoir Faire Linux into the conversation here,
> as he runs the software company who most of our customers
> contract through when they need a modern Linux kernel running
> on one of our Cirrus Logic EP93XX series single board computers.
> I expect his opinion will be more valuable than mine.
​>
> Good morning Jerome,
>
> A member of the Linux Kernel Development community reached out
> to us this morning letting us know the community has suggested
> dropping support for the MavericCrunch FPU on the EP9302 processor.
> Would this impact any of the development your team has been doing
> for some of our mutual customers?

From: Jerome Oufella<jerome.oufella@savoirfairelinux.com>
> I am aware of a few companies who rely on variants of the TS-7250
> running not-too-old LTS releases (4.19, 5.4) to cope with their patch policies.
>
> With Linux 5.10 being the next "Super LTS", this presumably brings its
> support lifespan until about 2030, which (I believe) they would be
> comfortable with considering the age of the platform.
>
> Jerome Oufella
> Vice-President, Technologies
> www.savoirfairelinux.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support
  2021-08-03 11:40   ` Martin Guy
@ 2021-08-03 11:58     ` Arnd Bergmann
  2021-08-03 15:52       ` Jerome Oufella
  0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2021-08-03 11:58 UTC (permalink / raw)
  To: Martin Guy
  Cc: Russell King, Hartley Sweeten, Alexander Sverdlin, SoC Team,
	Nikita Shubin, Arnd Bergmann, Oleg Nesterov, Hubert Feurstein,
	Lukasz Majewski, Catalin Marinas, Will Deacon, Nathan Chancellor,
	Nick Desaulniers, Linus Walleij, Linux ARM,
	Linux Kernel Mailing List, clang-built-linux, jerome.oufella

On Tue, Aug 3, 2021 at 1:41 PM Martin Guy <martinwguy@gmail.com> wrote:
>
> I forward opinion from people currently producing and supporting EP93XX boards:

Thanks a lot for bringing them in. I definitely don't want to remove support for
something that is actively being used, and we don't have to merge the patch
if they currently rely on MaverickCrunch on older platforms.

It does sound however like Jerome's customers are using a normal (softfloat)
Linus distro on EP93xx, rather than one using the original MaverickCrunch
FPU instructions. There are no plans to discontinue EP93xx support, there
is actually a good amount of recent work going into updating the platform.

Jerome, please let me know if I understood you correctly here. If your
customers do rely on MaverickCrunch support in user space, I would
leave that in the kernel for as long as ep93xx itself is supported, and instead
require building support with the GNU assembler to avoid having to
add support to the clang integrated assembler. If you don't know of anyone
using MaverickCrunch, I would go ahead with my patch to remove kernel
support.

      Arnd

> From: Technologic Systems Support Team <support@embeddedarm.com>
> To: martinwguy@gmail.com
> Cc: jerome.oufella@savoirfairelinux.com
>
> > I expect our customers would care if support was dropped.
> > Unfortunately I don't know to what extent.  I'd like to bring
> > Jerome Oufella of Savoir Faire Linux into the conversation here,
> > as he runs the software company who most of our customers
> > contract through when they need a modern Linux kernel running
> > on one of our Cirrus Logic EP93XX series single board computers.
> > I expect his opinion will be more valuable than mine.
> >
> > Good morning Jerome,
> >
> > A member of the Linux Kernel Development community reached out
> > to us this morning letting us know the community has suggested
> > dropping support for the MavericCrunch FPU on the EP9302 processor.
> > Would this impact any of the development your team has been doing
> > for some of our mutual customers?
>
> From: Jerome Oufella<jerome.oufella@savoirfairelinux.com>
> > I am aware of a few companies who rely on variants of the TS-7250
> > running not-too-old LTS releases (4.19, 5.4) to cope with their patch policies.
> >
> > With Linux 5.10 being the next "Super LTS", this presumably brings its
> > support lifespan until about 2030, which (I believe) they would be
> > comfortable with considering the age of the platform.
> >
> > Jerome Oufella
> > Vice-President, Technologies
> > www.savoirfairelinux.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support
  2021-08-02 15:45 ` [PATCH] ARM: ep93xx: remove MaverickCrunch support Martin Guy
  2021-08-03 11:40   ` Martin Guy
@ 2021-08-03 12:12   ` Linus Walleij
  2021-08-03 12:29     ` Arnd Bergmann
  1 sibling, 1 reply; 7+ messages in thread
From: Linus Walleij @ 2021-08-03 12:12 UTC (permalink / raw)
  To: Martin Guy
  Cc: Arnd Bergmann, Russell King, Hartley Sweeten, Alexander Sverdlin,
	SoC Team, Nikita Shubin, Arnd Bergmann, Oleg Nesterov,
	Hubert Feurstein, Lukasz Majewski, Catalin Marinas, Will Deacon,
	Nathan Chancellor, Nick Desaulniers, Linux ARM, linux-kernel,
	clang-built-linux

On Mon, Aug 2, 2021 at 5:45 PM Martin Guy <martinwguy@gmail.com> wrote:

> > was removed from gcc in its 4.8 release in 2012.
>
> I was sad about that, as I had managed to get it working correctly in
> 4.2 4.3 and 4.4.
> Unfortunately the GCC ARM maintainer at the time was paid by ARM, and
> they had no interest in it, as I gather the ARM-Cirrus partnership
> ended up disappointingly.

Political issues aside, have you considered contributing support
to LLVM instead?

It currently doesn't even support ARMv4 AFAIK but reportedly
has an easier to use and maintain back-end. (I do not know if
this is true, I just browsed this:
https://llvm.org/docs/WritingAnLLVMBackend.html )
Current ARM Targets are here:
https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/ARM
And they have a very clear and straight-forward developer policy:
https://llvm.org/docs/DeveloperPolicy.html

If ARMv4 support could be added to LLVM, that would solve
a lot of my headaches for ARM32, where we have things like
SA110 being actively maintained.

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support
  2021-08-03 12:12   ` Linus Walleij
@ 2021-08-03 12:29     ` Arnd Bergmann
  0 siblings, 0 replies; 7+ messages in thread
From: Arnd Bergmann @ 2021-08-03 12:29 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Martin Guy, Russell King, Hartley Sweeten, Alexander Sverdlin,
	SoC Team, Nikita Shubin, Arnd Bergmann, Oleg Nesterov,
	Hubert Feurstein, Lukasz Majewski, Catalin Marinas, Will Deacon,
	Nathan Chancellor, Nick Desaulniers, Linux ARM, linux-kernel,
	clang-built-linux

On Tue, Aug 3, 2021 at 2:12 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Mon, Aug 2, 2021 at 5:45 PM Martin Guy <martinwguy@gmail.com> wrote:
>
> > > was removed from gcc in its 4.8 release in 2012.
> >
> > I was sad about that, as I had managed to get it working correctly in
> > 4.2 4.3 and 4.4.
> > Unfortunately the GCC ARM maintainer at the time was paid by ARM, and
> > they had no interest in it, as I gather the ARM-Cirrus partnership
> > ended up disappointingly.
>
> Political issues aside, have you considered contributing support
> to LLVM instead?
>
> It currently doesn't even support ARMv4 AFAIK but reportedly
> has an easier to use and maintain back-end. (I do not know if
> this is true, I just browsed this:
> https://llvm.org/docs/WritingAnLLVMBackend.html )
> Current ARM Targets are here:
> https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/ARM
> And they have a very clear and straight-forward developer policy:
> https://llvm.org/docs/DeveloperPolicy.html
>
> If ARMv4 support could be added to LLVM, that would solve
> a lot of my headaches for ARM32, where we have things like
> SA110 being actively maintained.

I think for ARMv4 support, the only thing we need from llvm is
to have R_ARM_V4BX relocations, and for lld to support the
--fix-v4bx switch that turns 'bx' instructions into 'mov' when those
relocations are found. This is something that we have previously
discussed with the llvm developers and that may easily happen.

For the Crunch support, I don't think it's worth spending any effort
on adding that to llvm. If there are any remaining users, they have
probably stopped upgrading their user space long ago (to be
confirmed). The SoC itself has been "not recommended for new
design" since 2019, so we are unlikely to see new users of the platform
in the future, and I think existing users are equally unlikely to move
from softfp to crunch even if they have the option.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support
  2021-08-03 11:58     ` Arnd Bergmann
@ 2021-08-03 15:52       ` Jerome Oufella
  2021-08-03 17:11         ` Arnd Bergmann
  0 siblings, 1 reply; 7+ messages in thread
From: Jerome Oufella @ 2021-08-03 15:52 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: martinwguy, Russell King, Hartley Sweeten, Alexander Sverdlin,
	SoC Team, Nikita Shubin, Arnd Bergmann, Oleg Nesterov,
	Hubert Feurstein, Lukasz Majewski, Catalin Marinas, Will Deacon,
	Nathan Chancellor, Nick Desaulniers, Linus Walleij, Linux ARM,
	Linux Kernel Mailing List, clang-built-linux

On Aug 3, 2021, at 7:58 AM, Arnd Bergmann arnd@kernel.org wrote:

> On Tue, Aug 3, 2021 at 1:41 PM Martin Guy <martinwguy@gmail.com> wrote:
>>
>> I forward opinion from people currently producing and supporting EP93XX boards:
> 
> Thanks a lot for bringing them in. I definitely don't want to remove support for
> something that is actively being used, and we don't have to merge the patch
> if they currently rely on MaverickCrunch on older platforms.
> 
> It does sound however like Jerome's customers are using a normal (softfloat)
> Linus distro on EP93xx, rather than one using the original MaverickCrunch
> FPU instructions. There are no plans to discontinue EP93xx support, there
> is actually a good amount of recent work going into updating the platform.
> 
> Jerome, please let me know if I understood you correctly here. If your
> customers do rely on MaverickCrunch support in user space, I would
> leave that in the kernel for as long as ep93xx itself is supported, and instead
> require building support with the GNU assembler to avoid having to
> add support to the clang integrated assembler. If you don't know of anyone
> using MaverickCrunch, I would go ahead with my patch to remove kernel
> support.
> 
>      Arnd

Arnd,

You are correct on assuming usage of softfloat toolchains and not
using the MaverickCrunch unit. AFAIK, I am not aware of active users
of this FPU on recent setups.

 Jerome

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support
  2021-08-03 15:52       ` Jerome Oufella
@ 2021-08-03 17:11         ` Arnd Bergmann
  0 siblings, 0 replies; 7+ messages in thread
From: Arnd Bergmann @ 2021-08-03 17:11 UTC (permalink / raw)
  To: Jerome Oufella
  Cc: martinwguy, Russell King, Hartley Sweeten, Alexander Sverdlin,
	SoC Team, Nikita Shubin, Arnd Bergmann, Oleg Nesterov,
	Hubert Feurstein, Lukasz Majewski, Catalin Marinas, Will Deacon,
	Nathan Chancellor, Nick Desaulniers, Linus Walleij, Linux ARM,
	Linux Kernel Mailing List, clang-built-linux

On Tue, Aug 3, 2021 at 5:52 PM Jerome Oufella
<jerome.oufella@savoirfairelinux.com> wrote:
>
> You are correct on assuming usage of softfloat toolchains and not
> using the MaverickCrunch unit. AFAIK, I am not aware of active users
> of this FPU on recent setups.

Ok, thank you for the confirmation, I'll queue it up in the soc tree then.

Of course, as there is nothing wrong with the feature other than it
probably having no users and breaking the build when using the
clang integrated assembler, I don't mind reverting it later if we end
up finding a user that does rely on ancient MaverickCrunch binaries
to run on future kernels.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-08-03 17:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20210802141245.1146772-1-arnd@kernel.org>
2021-08-02 15:45 ` [PATCH] ARM: ep93xx: remove MaverickCrunch support Martin Guy
2021-08-03 11:40   ` Martin Guy
2021-08-03 11:58     ` Arnd Bergmann
2021-08-03 15:52       ` Jerome Oufella
2021-08-03 17:11         ` Arnd Bergmann
2021-08-03 12:12   ` Linus Walleij
2021-08-03 12:29     ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).