On Wed, May 04, 2022 at 01:40:07PM -0700, Linus Torvalds wrote: > Sadly, I'm on Zen2 with my 3970X, and the Zen 3 threadrippers seem to > be basically impossible to get. Yeah, what we did is get a gigabyte board: [ 0.000000] DMI: GIGABYTE MZ32-AR0-00/MZ32-AR0-00, BIOS M06 07/10/2021 and stick a server CPU in it: [ 2.352371] smpboot: CPU0: AMD EPYC 7313 16-Core Processor (family: 0x19, model: 0x1, stepping: 0x1) so that we can have the memory encryption stuff. 32 threads is fairly decent and kernel builds are fast enough, at least for me. If you need to do a lot of allmodconfigs, you probably need something bigger though. > Oh, the clear_user() in the ELF loader? I wouldn't have expected that > to be noticeable. Yah, that guy in load_elf_binary(). At least it did hit my breakpoint fairly often so I thought, what is a benchmark that does create a lot of processes... > Now, clear_page() is *very* noticeable, but that has its own special > magic and doesn't use clear_user(). Yeah, that's with the alternative CALL thing. Could be useful to try to see how much the inlined rep; movsb would bring... > Maybe there is some other clear_user() case I never thought of. My > dim memories of profiles definitely had copy_to_user, clear_page and > copy_page being some of the top copy loops. I could try to do a perf probe or whatever fancy new thing we do now on clear_user to get some numbers of how many times it gets called during the benchmark run. Or do you wanna know the callers too? Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette