[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Summary of the Arm ports BoF at DC17

On Mon, Sep 18, 2017 at 10:50:39AM +0100, Ian Campbell wrote:
> On Mon, 2017-09-18 at 10:15 +0100, Edmund Grimley Evans wrote:
> > > But it did remind me that on some platforms writing "2" to
> > > /proc/sys/abi/cp15_barrier will enable hw support for these
> > > instructions, since some platforms do support them even thought
> > > they
> > > are deprecated. It's certainly worth investigating what your
> > > hardware
> > > supports.
> > 
> > Not necessarily disagreeing with the content of that but the
> > terminology seems wrong: I don't have a reference to hand but I'm
> > fairly sure that hardware is *required* to support a "deprecated"
> > instruction. "Deprecated" usually means something like: unless you
> > know what you're doing you probably shouldn't use this feature
> > because
> > it might perform badly and it might not be available in a future
> > version (of the Arm architecture in this case).
> In principal I agree with your interpretation of "Deprecated" but the
> wording in Linux's Documentation/arm64/legacy_instructions.txt which
> documents this stuff is:
> * Hardware Execution
>   Value: 2
>   Although marked as deprecated, some implementations may support the
>   enabling/disabling of hardware support for the execution of these
>   instructions. Using hardware execution generally provides better
>   performance, but at the loss of ability to gather runtime statistics
>   about the use of the deprecated instructions.
> Which in "some implementations may" at least implies the possibility
> that some hardware may not support these instructions. I don't seem to
> be able to download an ARM ARM right now to see what the actual wording
> used there is.

I believe it says some hardware might support disabling the support
for the deprecated instruction.  It does not say they don't support the
deprecated instruction.  Having the ability to disable a feature that
you ideally shouldn't use can be very helpful to make sure you aren't
accidentally using it after all.

Nothing in that text says that some hardware might not implement the
deprecated instruction.  The might is talking about the ability to turn
off deprecated instructions.

Len Sorensen

Reply to: