Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-30 Thread Sedat Dilek
On Sat, Mar 27, 2021 at 9:02 PM Linus Torvalds wrote: > > On Sat, Mar 27, 2021 at 5:08 AM Sedat Dilek wrote: > > > > debian-5.10.19 as host-kernel: > > 11655.755564957 seconds time elapsed > > > > dileks-5.12-rc3 plus x86-nops as host-kernel: > > 11941.439350080 seconds time elapsed > > That's

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-27 Thread Linus Torvalds
On Sat, Mar 27, 2021 at 5:08 AM Sedat Dilek wrote: > > debian-5.10.19 as host-kernel: > 11655.755564957 seconds time elapsed > > dileks-5.12-rc3 plus x86-nops as host-kernel: > 11941.439350080 seconds time elapsed That's 2.5% - a huge difference. Particularly since kernel build times shouldn't

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-27 Thread Sedat Dilek
Out of curiosity I tried in my build-environment and my testing-rules to have comparable numbers... ..without passing "V=1" and "KBUILD_VERBOSE=1" as make-options: NOTE: Identical linux-config plus LLVM/Clang v12.0.0-rc3. debian-5.10.19 as host-kernel: 11655.755564957 seconds time elapsed

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Sedat Dilek
On Mon, Mar 15, 2021 at 11:14 PM Peter Zijlstra wrote: > > On Mon, Mar 15, 2021 at 07:23:29PM +0100, Sedat Dilek wrote: > > > You mean something like that ^^? > > > > - Sedat - > > > > [1] > > https://git.zx2c4.com/laptop-kernel/commit/?id=116badbe0a18bc36ba90acb8b80cff41f9ab0686 > > *shudder*,

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Peter Zijlstra
On Mon, Mar 15, 2021 at 07:23:29PM +0100, Sedat Dilek wrote: > You mean something like that ^^? > > - Sedat - > > [1] > https://git.zx2c4.com/laptop-kernel/commit/?id=116badbe0a18bc36ba90acb8b80cff41f9ab0686 *shudder*, I was more thinking you'd simply add it to you CFLAGS when building. I

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Sedat Dilek
On Mon, Mar 15, 2021 at 7:10 PM Peter Zijlstra wrote: > > On Mon, Mar 15, 2021 at 06:04:41PM +0100, Sedat Dilek wrote: > > > make V=1 -j4 LLVM=1 LLVM_IAS=1 > > So for giggles I checked, neither GCC nor LLVM seem to emit prefix NOPs > when building with -march=sandybridge, they always use MOPL. >

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Peter Zijlstra
On Mon, Mar 15, 2021 at 06:04:41PM +0100, Sedat Dilek wrote: > make V=1 -j4 LLVM=1 LLVM_IAS=1 So for giggles I checked, neither GCC nor LLVM seem to emit prefix NOPs when building with -march=sandybridge, they always use MOPL. Furthermore, the kernel explicitly sets: -falign-jumps=1

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Borislav Petkov
On Mon, Mar 15, 2021 at 06:19:34PM +0100, Sedat Dilek wrote: > With my next build I try to apply this. Your perf tool command should look something like this: perf stat --repeat 5 --sync --pre=/root/bin/pre-build-kernel.sh -- make -s -j9 LLVM=1 LLVM_IAS=1 bzImage Also, needless to say, your

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Sedat Dilek
On Mon, Mar 15, 2021 at 6:15 PM Borislav Petkov wrote: > > On Mon, Mar 15, 2021 at 06:04:41PM +0100, Sedat Dilek wrote: > > Here some fresh numbers: > > Lemme paste my previous reply which still holds true here: > > "There's a reason I have -s for silent in the build - printing output > during

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Borislav Petkov
On Mon, Mar 15, 2021 at 06:04:41PM +0100, Sedat Dilek wrote: > Here some fresh numbers: Lemme paste my previous reply which still holds true here: "There's a reason I have -s for silent in the build - printing output during the build creates a *lot* of variance. And you have excessive printing

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-15 Thread Sedat Dilek
On Sat, Mar 13, 2021 at 2:47 PM Sedat Dilek wrote: [ ... ] > Let me look if I will do a selfmade ThinLTO+PGO optimized LLVM > toolchain v12.0.0-rc3 this weekend. > I did it. Here some fresh numbers: [ Selfmade LLVM toolchain v12.0.0-rc3 "stage1-only" ] [ Host-Kernel:

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Sedat Dilek
On Sat, Mar 13, 2021 at 2:29 PM Borislav Petkov wrote: > > On Sat, Mar 13, 2021 at 01:58:56PM +0100, Sedat Dilek wrote: > > You can add Debian/experimental APT sources.list ... > > I could but I don't expect clang12 to behave any differently here. > Agreed in things of build-time. There were

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Borislav Petkov
On Sat, Mar 13, 2021 at 01:58:56PM +0100, Sedat Dilek wrote: > You can add Debian/experimental APT sources.list ... I could but I don't expect clang12 to behave any differently here. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Sedat Dilek
On Sat, Mar 13, 2021 at 1:49 PM Borislav Petkov wrote: > > On Sat, Mar 13, 2021 at 01:38:22PM +0100, Sedat Dilek wrote: > > AFAICS you did a 5 times x86-64 defconfig with dropped pagecache and `make > > -j9`? > > The tailored .config for that particular test box. > > > Does your distribution

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Borislav Petkov
On Sat, Mar 13, 2021 at 01:38:22PM +0100, Sedat Dilek wrote: > AFAICS you did a 5 times x86-64 defconfig with dropped pagecache and `make > -j9`? The tailored .config for that particular test box. > Does your distribution offer LLVM/Clang v12.0.0-rc3 (released this > week) binaries? The

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Sedat Dilek
On Sat, Mar 13, 2021 at 1:15 PM Borislav Petkov wrote: > > On Sat, Mar 13, 2021 at 01:10:29PM +0100, Sedat Dilek wrote: > > Here we go: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=864b435514b286c0be2a38a02f487aa28d990ef8 > > That's why I told earlier you to use

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Borislav Petkov
On Sat, Mar 13, 2021 at 01:10:29PM +0100, Sedat Dilek wrote: > Here we go: > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=864b435514b286c0be2a38a02f487aa28d990ef8 That's why I told earlier you to use tip/master - that patch is already in it and all you would've needed

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Sedat Dilek
On Sat, Mar 13, 2021 at 9:51 AM Borislav Petkov wrote: > > On Sat, Mar 13, 2021 at 06:26:15AM +0100, Sedat Dilek wrote: > > x86/jump_label: Mark arguments as const to satisfy asm constraints > > Where do I find this patch? > Here we go:

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Borislav Petkov
On Sat, Mar 13, 2021 at 09:49:23AM +0100, Borislav Petkov wrote: > Lemme rerun here with clang. clang11 is almost twice as slow as gcc but difference is still negligible: ~0.6 seconds. ./tools/perf/perf stat --repeat 5 --sync --pre=/root/bin/pre-build-kernel.sh -- make -s -j9 LLVM=1 LLVM_IAS=1

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-13 Thread Borislav Petkov
On Sat, Mar 13, 2021 at 06:26:15AM +0100, Sedat Dilek wrote: > x86/jump_label: Mark arguments as const to satisfy asm constraints Where do I find this patch? > x86: Remove dynamic NOP selection > objtool,x86: Use asm/nops.h > > My benchmark was to build a Linux-kernel with LLVM/Clang

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Borislav Petkov
On Fri, Mar 12, 2021 at 12:32:53PM +0100, Peter Zijlstra wrote: > Since ultimate performance of a 10 year old chip (Intel Sandy Bridge, 2011) is > simply irrelevant today, remove variable NOPs and use NOPL. Just ran them on my SNB box: cpu family : 6 model : 45 model name :

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Sedat Dilek
On Fri, Mar 12, 2021 at 7:13 PM Sedat Dilek wrote: > > On Fri, Mar 12, 2021 at 6:47 PM Steven Rostedt wrote: > > > > On Fri, 12 Mar 2021 18:35:45 +0100 > > Sedat Dilek wrote: > > > > > > > Hey Steve, you degraded me to a number :-). > > > > It's the internet, everyone is a number. > > > > > > >

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Sedat Dilek
On Fri, Mar 12, 2021 at 6:47 PM Steven Rostedt wrote: > > On Fri, 12 Mar 2021 18:35:45 +0100 > Sedat Dilek wrote: > > > > Hey Steve, you degraded me to a number :-). > > It's the internet, everyone is a number. > > > > > I dunno which Git tree this patchset applies to, but I check if I can > >

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Steven Rostedt
On Fri, 12 Mar 2021 18:35:45 +0100 Sedat Dilek wrote: > Hey Steve, you degraded me to a number :-). It's the internet, everyone is a number. > > I dunno which Git tree this patchset applies to, but I check if I can > apply the patchset to my current local Git. Try Linus's latest. > Then

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Borislav Petkov
On Fri, Mar 12, 2021 at 06:35:45PM +0100, Sedat Dilek wrote: > Hey Steve, you degraded me to a number :-). How did he degrade you to a number?! Actually, he went the length to patiently explain what you could do. > I dunno which Git tree this patchset applies to, but I check if I can

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Sedat Dilek
On Fri, Mar 12, 2021 at 6:26 PM Steven Rostedt wrote: > > On Fri, 12 Mar 2021 15:47:26 +0100 > Borislav Petkov wrote: > > > On Fri, Mar 12, 2021 at 03:29:48PM +0100, Sedat Dilek wrote: > > > What does this change exactly mean to/for me? > > > > Probably nothing. > > > > I would be very surprised

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Steven Rostedt
On Fri, 12 Mar 2021 15:47:26 +0100 Borislav Petkov wrote: > On Fri, Mar 12, 2021 at 03:29:48PM +0100, Sedat Dilek wrote: > > What does this change exactly mean to/for me? > > Probably nothing. > > I would be very surprised if it would be at all noticeable for you - > it's not like the kernel

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Borislav Petkov
On Fri, Mar 12, 2021 at 03:29:48PM +0100, Sedat Dilek wrote: > What does this change exactly mean to/for me? Probably nothing. I would be very surprised if it would be at all noticeable for you - it's not like the kernel is executing long streams of NOPs in fast paths. -- Regards/Gruss,

Re: [PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Sedat Dilek
On Fri, Mar 12, 2021 at 1:00 PM Peter Zijlstra wrote: > > Hi! > > A while ago Steve complained about x86 being weird for having different NOPs > [1] > > Having cursed the same thing before, I figured it was time to look at the NOP > situation. > > 32bit simply isn't a performance target anymore,

[PATCH 0/2] x86: Remove ideal_nops[]

2021-03-12 Thread Peter Zijlstra
Hi! A while ago Steve complained about x86 being weird for having different NOPs [1] Having cursed the same thing before, I figured it was time to look at the NOP situation. 32bit simply isn't a performance target anymore, so all we need is a set of NOPs that works on all. x86_64 has two main