unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
To: Florian Weimer <fweimer@redhat.com>
Cc: 'GNU C Library' <libc-alpha@sourceware.org>
Subject: Re: [PATCH] AArch64: Check kernel version for SVE ifuncs
Date: Thu, 14 Mar 2024 15:38:40 +0000	[thread overview]
Message-ID: <PAWPR08MB8982FC73FA743CECF6E1C38C83292@PAWPR08MB8982.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <87zfv0kgmn.fsf@oldenburg.str.redhat.com>

Hi Florian,

> I generally prefer we fix the component that has the bug.  With that
> approach, you'd have to to use your distribution contacts to request a
> backport.

The issue is present since SVE was added in 4.18 so it affects many kernels.
It is unlikely to be easy to backport since it relies on various other changes
to how syscalls and register state is dealt with.

Originally it was thought to be OK - and it would be if you only ever use
SVE in vectorized loops. However using a few SVE instructions everywhere
in applications breaks that model. Plus all the security features have increased
the overhead of kernel traps in recent years...

> The workaround introduces a performance hit for those users who today
> benefit from the SVE string operations, but do not suffer from the
> syscall interaction issue.

Today everybody has the performance hit of not getting the SVE memcpy
at all as it has blocked backports. For example I don't see the SVE memcpy
being used on Neoverse V1.

> In the end, it is your port, but version-based workarounds are really
> unusual for glibc.

Agreed, I'm hoping we can remove the check in a few years time when all
distros have moved to minimum kernel >= 6.2 in their supported versions.

Cheers,
Wilco

  reply	other threads:[~2024-03-14 15:39 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-13 14:31 [PATCH] AArch64: Check kernel version for SVE ifuncs Wilco Dijkstra
2024-03-13 18:12 ` Adhemerval Zanella Netto
2024-03-13 19:25   ` Szabolcs Nagy
2024-03-13 19:55     ` Adhemerval Zanella Netto
2024-03-14  8:35       ` Szabolcs Nagy
2024-03-14 13:47         ` Adhemerval Zanella Netto
2024-03-14 14:26           ` Szabolcs Nagy
2024-03-14 14:28             ` Adhemerval Zanella Netto
2024-03-14  9:02       ` Florian Weimer
2024-03-13 18:39 ` Szabolcs Nagy
2024-03-13 19:31 ` Andrew Pinski
2024-03-13 20:44   ` Wilco Dijkstra
2024-03-14  9:06 ` Florian Weimer
2024-03-14 14:42   ` Wilco Dijkstra
2024-03-14 14:55     ` Florian Weimer
2024-03-14 15:38       ` Wilco Dijkstra [this message]
2024-03-14 16:52         ` Florian Weimer
2024-03-18 11:46           ` Florian Weimer
2024-03-18 14:22             ` Wilco Dijkstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/libc/involved.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=PAWPR08MB8982FC73FA743CECF6E1C38C83292@PAWPR08MB8982.eurprd08.prod.outlook.com \
    --to=wilco.dijkstra@arm.com \
    --cc=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).