Messages in this thread | | | From | Nick Desaulniers <> | Date | Tue, 17 Jan 2023 10:26:22 -0800 | Subject | Re: [PATCHv14 08/17] x86/mm: Reduce untagged_addr() overhead until the first LAM user |
| |
On Tue, Jan 17, 2023 at 9:29 AM Linus Torvalds <torvalds@linux-foundation.org> wrote: > > On Tue, Jan 17, 2023 at 9:18 AM Linus Torvalds > <torvalds@linux-foundation.org> wrote: > > > > The reason clang seems to generate saner code is that clang seems to > > largely ignore the whole "__builtin_expect()", at least not to the > > point where it tries to make the unlikely case be out-of-line. > > Side note: that's not something new or unusual. It's been the case > since I started testing clang - we have several code-paths where we > use "unlikely()" to try to get very unlikely cases to be out-of-line, > and clang just mostly ignores it, or treats it as a very weak hint. I > think the only way to get clang to treat it as a *strong* hint is to > use PGO.
I'd be surprised if that were intentional or by design.
Do you guys have a bug report we could look at?
> So clang ignoring the likely() hint is probably the right thing here, > and then the wrong thing in some other places.
-- Thanks, ~Nick Desaulniers
| |