Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1239965

Re: [PATCH v5 00/23] ILP32 for ARM64

From "Pinski, Andrew" <Andrew.Pinski@caviumnetworks.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 00/23] ILP32 for ARM64
Date 2015-10-05 23:10 +0200
Message-ID <qglbc-2cb-31@gated-at.bofh.it> (permalink)
References (3 earlier) <qeTAo-8jY-53@gated-at.bofh.it> <qeTTH-eK-11@gated-at.bofh.it> <qf4YN-7RN-1@gated-at.bofh.it> <qglbc-2cb-33@gated-at.bofh.it> <qgglc-3nE-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



> On Oct 5, 2015, at 8:59 AM, Catalin Marinas <catalin.marinas@arm.com> wrote:
> 
>> On Sat, Oct 03, 2015 at 02:18:57AM +0000, Kapoor, Prasun wrote:
>>> On 10/2/15, 2:37 AM, "Catalin Marinas" <catalin.marinas@arm.com> wrote:
>>> So, at the time, following x32 discussions, we thought of using the
>>> native ABI as much as possible. However, two important things happened
>>> since:
>>> 
>>> 1. libc community didn't like breaking the POSIX compliance
>>> 2. No-one seems desperate for ILP32 on AArch64
>>> 
>>> (1) is a fair point and I would rather be careful as we don't know the
>>> extent of the code affected. In the meantime, we've also had ongoing
>>> work for addressing the 2038 issue on 32-bit architectures.
>>> 
>>> The second point is equally important. The benchmarks I've seen didn't
>>> show a significant improvement and the messages I got on various
>>> channels pretty much labeled ILP32 as a transitional stage to full LP64.
>>> In this case, we need to balance the benefits of a close to native ABI
>>> (future proof, slightly higher performance) vs. the cost of maintaining
>>> such ABI in the kernel on the long term, especially if it's not widely
>>> used/tested.
>> 
>> For us ILP32  is not about putting this into our product flier at all, it
>> is about supporting real applications. We have an existing product line of
>> MIPS based SoCs where a large number of N32 (an exact equivalent of ILP32)
>> applications are currently in production. Our customers are looking to
>> bring those applications (mostly in Networking and Telecom space) over to
>> ARMv8. 
>> 
>> We think its an extremely risky strategy to say either future processors
>> should incur the additional cost (power and complexity) of implementing
>> Aarch32 instruction set or have no way of  supporting 32 bit applications
>> at all.
> 
> Well, given that Cavium posted only 3 versions of this series since
> September 2013, it doesn't seem critical at all.

We are going to post another version as soon as we finish the changes that you requested this time around. I am working on the glibc and yury (with my help) will doing the kernel side. 


> 
>> Apart from there being an installed base of 32 bit networking and telecom
>> applications, we have also seen non-trivial performance gains with ILP32
>> (for example, our SPECINT score goes up by 7% with ILP32 compared to
>> LP64).
> 
> It would be good to re-run the benchmarks with the latest gcc since
> LP64/AArch64 support has evolved in the meantime.

We are also rerunning the numbers with the latest released gcc (5.2) and will report results when we submit the next version of the patch set.  

Thanks,
Andrew

> 
> -- 
> Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v5 00/23] ILP32 for ARM64 Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 08/23] arm64:ilp32: use 64bit syscall-names for ILP32 when passing 64bit registers Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 17/23] arm64:ilp32: add vdso-ilp32 and use for signal return Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
    Re: [PATCH v5 17/23] arm64:ilp32: add vdso-ilp32 and use for signal  return Nathan Lynch <Nathan_Lynch@mentor.com> - 2015-09-30 06:10 +0200
      Re: [PATCH v5 17/23] arm64:ilp32: add vdso-ilp32 and use for signal  return Yury Norov <ynorov@caviumnetworks.com> - 2015-10-01 21:50 +0200
        Re: [PATCH v5 17/23] arm64:ilp32: add vdso-ilp32 and use for signal return "Dr. Philipp Tomsich" <philipp.tomsich@theobroma-systems.com> - 2015-10-01 22:40 +0200
  [PATCH v5 09/23] arm64:ilp32: use non-compat syscall names for ILP32 as for LP64 Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 23/23] arm64:ilp32: add ARM64_ILP32 to Kconfig Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 13/23] arm64:ilp32: share HWCAP between LP64 and ILP32 Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 04/23] arm64: change some CONFIG_COMPAT over to use CONFIG_AARCH32_EL0 instead Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
    Re: [PATCH v5 04/23] arm64: change some CONFIG_COMPAT over to use  CONFIG_AARCH32_EL0 instead kbuild test robot <lkp@intel.com> - 2015-09-30 05:40 +0200
    Re: [PATCH v5 04/23] arm64: change some CONFIG_COMPAT over to use  CONFIG_AARCH32_EL0 instead Andrey Konovalov <andrey.konovalov@linaro.org> - 2015-10-06 11:30 +0200
  [PATCH v5 02/23] arm64: ensure the kernel is compiled for LP64 Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 16/23] arm64: add support for starting ILP32 (ELFCLASS32) binaries Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 15/23] arm64:ilp32: support core dump generation for ILP32 Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 05/23] arm64:ilp32: expose 'kernel_long' as 'long long' for ILP32 Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
  [PATCH v5 10/23] arm64: introduce is_a32_task and is_a32_thread (for AArch32 compat) Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:20 +0200
    Re: [PATCH v5 10/23] arm64: introduce is_a32_task and is_a32_thread  (for AArch32 compat) kbuild test robot <lkp@intel.com> - 2015-09-30 05:50 +0200
    Re: [PATCH v5 10/23] arm64: introduce is_a32_task and is_a32_thread  (for AArch32 compat) Andrey Konovalov <andrey.konovalov@linaro.org> - 2015-10-06 11:30 +0200
      Re: [PATCH v5 10/23] arm64: introduce is_a32_task and is_a32_thread  (for AArch32 compat) Yury Norov <ynorov@caviumnetworks.com> - 2015-10-07 18:20 +0200
  [PATCH v5 22/23] aarch64: ilp32: msgrcv, msgsnd handlers Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:30 +0200
  [PATCH v5 20/23] arm64:ilp32: use the native siginfo instead of the compat siginfo Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:30 +0200
  [PATCH v5 07/23] arm64:ilp32: share signal structures between ILP32 and LP64 ABIs Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:30 +0200
  [PATCH v5 19/23] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:30 +0200
  [PATCH v5 21/23] arm64:ilp32: change COMPAT_ELF_PLATFORM to report a a subplatform for ILP32 Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:30 +0200
  [PATCH v5 18/23] ptrace: Allow compat to use the native siginfo Yury Norov <ynorov@caviumnetworks.com> - 2015-09-30 00:30 +0200
  Re: [PATCH v5 00/23] ILP32 for ARM64 Catalin Marinas <catalin.marinas@arm.com> - 2015-09-30 12:20 +0200
    Re: [PATCH v5 00/23] ILP32 for ARM64 Mark Brown <broonie@kernel.org> - 2015-09-30 18:50 +0200
      Re: [PATCH v5 00/23] ILP32 for ARM64 Catalin Marinas <catalin.marinas@arm.com> - 2015-10-01 13:20 +0200
        Re: [PATCH v5 00/23] ILP32 for ARM64 Mark Brown <broonie@kernel.org> - 2015-10-01 13:40 +0200
          Re: [PATCH v5 00/23] ILP32 for ARM64 Andrey Konovalov <andrey.konovalov@linaro.org> - 2015-10-01 18:50 +0200
      Re: [PATCH v5 00/23] ILP32 for ARM64 Yury Norov <ynorov@caviumnetworks.com> - 2015-10-01 21:40 +0200
    Re: [PATCH v5 00/23] ILP32 for ARM64 Yury Norov <ynorov@caviumnetworks.com> - 2015-10-01 21:20 +0200
      Re: [PATCH v5 00/23] ILP32 for ARM64 Arnd Bergmann <arnd@arndb.de> - 2015-10-01 23:30 +0200
        Re: [PATCH v5 00/23] ILP32 for ARM64 "Pinski, Andrew" <Andrew.Pinski@caviumnetworks.com> - 2015-10-01 23:50 +0200
          Re: [PATCH v5 00/23] ILP32 for ARM64 Catalin Marinas <catalin.marinas@arm.com> - 2015-10-02 11:40 +0200
            Re: [PATCH v5 00/23] ILP32 for ARM64 "Kapoor, Prasun" <Prasun.Kapoor@caviumnetworks.com> - 2015-10-03 05:00 +0200
              Re: [PATCH v5 00/23] ILP32 for ARM64 Catalin Marinas <catalin.marinas@arm.com> - 2015-10-05 18:00 +0200
                Re: [PATCH v5 00/23] ILP32 for ARM64 "Pinski, Andrew" <Andrew.Pinski@caviumnetworks.com> - 2015-10-05 23:10 +0200
          Re: [PATCH v5 00/23] ILP32 for ARM64 Yury Norov <ynorov@caviumnetworks.com> - 2015-10-05 21:20 +0200
  Re: [PATCH v5 03/23] arm64: rename COMPAT to AARCH32_EL0 in Kconfig Andrey Konovalov <andrey.konovalov@linaro.org> - 2015-10-06 11:30 +0200

csiph-web