[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89i+u8jvfSQAQ=_JY0be56deJNhKgDWbqpDAvfm-i34qX9A@mail.gmail.com>
Date: Fri, 26 May 2023 19:25:23 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: LKML <linux-kernel@...r.kernel.org>, netdev <netdev@...r.kernel.org>
Subject: Re: x86 copy performance regression
On Fri, May 26, 2023 at 7:17 PM Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
>
> On Fri, May 26, 2023 at 10:00 AM Linus Torvalds
> <torvalds@...ux-foundation.org> wrote:
> >
> > Let me go look at it some more. I *really* didn't want to make the
> > code worse for ERMS
>
> Oh well. I'll think about it some more in the hope that I can come up
> with something clever that doesn't make objtool hate me, but in the
> meantime let me just give you the "not clever" patch.
>
> It generates an annoying six-byte jump when the small 2-byte one would
> work just fine, but I guess only my pride is wounded.
arch/x86/lib/copy_user_64.S:34:2: error: invalid instruction mnemonic
'alternative'
alternative "jae .Lunrolled", "jae .Llarge", ( 9*32+ 9)
^~~~~~~~~~~
I changed alternative to ALTERNATIVE to let it build.
SYM_FUNC_START(rep_movs_alternative)
cmpq $64,%rcx
- jae .Lunrolled
+ ALTERNATIVE "jae .Lunrolled", "jae .Llarge", X86_FEATURE_ERMS
I will report test result soon, thanks !
Powered by blists - more mailing lists