ILP32 for ARM64: testing with glibc testsuite
Yury Norov
ynorov@caviumnetworks.com
Wed Nov 16 13:08:00 GMT 2016
On Wed, Nov 16, 2016 at 03:25:40PM +0400, Maxim Kuvyrkov wrote:
> [Resending with trimmed CC: to avoid libc-alpha's spam filter]
>
> > On Nov 9, 2016, at 1:56 PM, Yury Norov <ynorov@caviumnetworks.com> wrote:
> >
> > On Mon, Nov 07, 2016 at 01:53:59PM +0530, Yury Norov wrote:
> >> Hi all,
> >>
> >> [add libc-alpha mail list]
> >>
> >> For libc-alpha: this is the part of LKML submission with latest
> >> patches for aarch64/ilp32.
> >> https://www.spinics.net/lists/arm-kernel/msg537846.html
> >>
> >> Glibc that I use has also included consolidation patches from Adhemerval
> >> Zanella and me that are still not in the glibc master. The full series is:
> >> https://github.com/norov/glibc/tree/ilp32-2.24-dev2
> >>
> >> Below is the results of glibc testsuite run for aarch64/lp64
> >> in different configurations. Column names meaning:
> >> kvgv: kernel is vanilla, glibc is vanilla;
> >> kdgv: kernel has ilp32 patches applied, but ilp32 is disabled in config;
> >> glibc is vanilla;
> >> kegv: kernel has ilp32 patches applied and ilp32 is enabled, glibc is vanilla;
> >> kege: kernel patches are applied and enabled, glibc patches are applied.
> >>
> >> Only different lines are shown. Full results are in attached archive.
>
> Hi Yury,
Hi Maxim, thank you for response.
> The general requirement merging ILP32 glibc patches is that LP64 does not
> regress in any reasonable configuration. This means that there should be 0
> regressions between kvgv and kvge -- i.e., glibc in LP64 mode with and without
> ILP32 patches does not regress on the vanilla kernel. The kvge configuration
> is not in your testing matrix, and I suggest you make sure it has no regressions
> before fixing the more "advanced" configuration of kege.
Yes, I missed kvge as it's not so interesting from kernel point of
view. But it's needed for glibc. I'll run that test and report soon.
> Ideally, there should be no regressions between kvgv and kege configurations,
> but I don't consider this to a requirement for glibc acceptance of ILP32 patches,
> since any regressions between kvge and kege configurations are likely to be on
> the kernel side.
>
> Speculating on the kernel requirements for ILP32 kernel patchset, I think there
> should be 0 regressions between kvgv and kdgv configurations, where you have only
> 3 tests to investigate and fix.
>
> [I do appreciate that there are progressions in your results as well, but the
> glibc policy is that they do not offset regressions.]
>
> The above only concerns LP64 support in kernel and glibc.
>
> Regarding ILP32 runtime, my opinion is that it is acceptable for ILP32 to have
> extra failures compared to LP64, since these are not regressions, but, rather,
> failures of a new configuration. From a superficial glance is seems that ILP32
> linknamespace support requires attention, as well as stack unwinding (judging
> from NPTL failures).
Thanks again, it's clear, and I agree with your approach. Since
there's less than 6 weeks till freeze, we'll focus on lp64
regressions, and after that on ilp32-specific ones.
Yury.
More information about the Libc-alpha
mailing list