ChanServ changed the topic of #aarch64-laptops to: Linux support for AArch64 Laptops (Asus NovaGo TP370QL - HP Envy x2 - Lenovo Mixx 630 - Lenovo Yoga C630)
derzahl has joined #aarch64-laptops
<derzahl> i have my kernel patched with mglru now but its not turned on
<derzahl> i patched it with a bunch of stuff and was surprised they both applied cleanly and compiled. my main objective was to compile with -O3 and armv8.2a tuning, and switch to the cacule sceduler
<derzahl> its been running great and now im trying to see if I can get the fingerprint reader to work
hexdump01 has joined #aarch64-laptops
hexdump0815 has quit [Ping timeout: 480 seconds]
jhovold has joined #aarch64-laptops
jhovold has quit [Quit: WeeChat 3.3]
jhovold has joined #aarch64-laptops
<arnd> derzahl: -O3 tends to make the kernel behave worse because the aggressive loop unrolling just grows the kernel in places that don't matter. However, if you find a workload for which it matters, we can manually unroll the loop that there
<arnd> I also wouldn't expect armv8.2 to make much of a difference for the kernel, again if you want to have an armv8.2-only kernel it would be better to optimize the places that do matter, such as using the LSE atomics unconditionally
<arnd> One optimization that apparently does help is to use link-time-optimizations on the kernel
gwolf has quit [Ping timeout: 480 seconds]
gwolf has joined #aarch64-laptops
hexdump0815 has joined #aarch64-laptops
hexdump01 has quit [Ping timeout: 480 seconds]
<hexdump0815> oh - whitequark irc log is back - a big thanks to whoever is responsible for making it working again
<robclark> I changed the channel flags back to +M -R .. that seems to be the lesser of evils
<HdkR> At least then you can flail silently until you realize nickserv failed to authenticate for w/e reason :D
<HdkR> Looking forward to OFTC gaining support for SASL
<derzahl> arnd: Thanks for the suggestions. I will check on that. I thought the -O3 problems you stated is no longer true with modern compilers.
<arnd> derzahl: no, since -O3 tends to make things worse, nobody is using it any more, and we eliminated the Kconfig option for anything other than CONFIG_ARC
<arnd> so we don't even notice when it breaks
<derzahl> arnd: I dont think -O3 even enabled -funroll-loops, does it?
<arnd> this is what the gcc docs say: https://www.irccloud.com/pastebin/tS4GylBO/
<arnd> most of these are about loop optimization in some form
<arnd> so no -funroll-loops, but a lot of related options
<derzahl> yeh, i just ran: gcc -c -Q -O3 --help=optimizers
<derzahl> I remember reading a discussion on LKML where a dev was suggesting enabling it by default(at least on his particular driver). I think Linus dissented for the sake of caution, But other devs mentioned the loop unrolling problems of the past were solved .
<derzahl> tried to find it again but cant
<derzahl> just checked, LSE atomics is enabled
<derzahl> i have CONFIG_LTO_NONE=y
<derzahl> so i guess that means its not using LTO?
<derzahl> Whats your opinion on LLVM vs gcc? Im guessing its not good to use LLVM to compile the kernel on a distro compiled with gcc
<HdkR> Kernel ABI doesn't care about mixing your compilers like that
<derzahl> would it make a difference?
<derzahl> i think I need to use clang to get LTO, right?
<derzahl> currently Im not given any options for LTO besides "NONE"
jhovold has quit [Ping timeout: 480 seconds]
<HdkR> gcc also supports LTO, not sure what is necessary for the kernel to enable the option though :)
<robclark> using llvm to build kernel and gcc to build userspace is fine
<derzahl> hmm "make LLVM=1 LLVM_IAS=1 nconfig" gives me the option of thinLTO, but not full LTO. Any idea why?
<derzahl> does it matter?
<robclark> no idea, haven't really played with LTO myself
<HdkR> thinlto is pretty much as good as "fat" lto
<HdkR> and doesn't use all the ram in the world
<HdkR> thinlto is clang+lld only, gcc doesn't support that
<HdkR> I guess gold supports thinlto?
<derzahl> whats gold?
<HdkR> Another linker
<HdkR> https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html Has a fairly old breakdown with some graphs. Basically the same today :)