[Samsung Galaxy S8 & S8+ Cross Device Development] ace2nutzer:
Yeah, it looks like there is a hardware / software compatibility issue.

This is what i get from your log:

cat last_kmsg.txt | grep "mmc_host mmc0"
<6>mmc_host mmc0: Bus speed (slot 0) = 25000000Hz (slot req 400000Hz, actual 390625HZ div = 32)
<6>mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0)
<6>mmc_host mmc0: Tuning error: cmd.error:-5, data.error:-115 CLKSEL = 0x03030043, EN_SHIFT = 0x00000000
<6>mmc_host mmc0: Tuning error: cmd.error:-84, data.error:-115 CLKSEL = 0x03030003, EN_SHIFT = 0x00000000
<6>mmc_host mmc0: Tuning error: cmd.error:0, data.error:-84 CLKSEL = 0x03030044, EN_SHIFT = 0x00000000

if i do the same grep on my S8 last_kmsg, then i get this:

dreamlte:/ # cat proc/last_kmsg | grep "mmc_host mmc0"
<6>mmc_host mmc0: Bus speed (slot 0) = 25000000Hz (slot req 400000Hz, actual 390625HZ div = 32)
<6>mmc_host mmc0: Bus speed (slot 0) = 25000000Hz (slot req 300000Hz, actual 297619HZ div = 42)
<6>mmc_host mmc0: Bus speed (slot 0) = 25000000Hz (slot req 400000Hz, actual 390625HZ div = 32)
<6>mmc_host mmc0: Bus speed (slot 0) = 25000000Hz (slot req 300000Hz, actual 297619HZ div = 42)
<6>mmc_host mmc0: card inserted

According to my experience and how know, your board has a different PLL chip and divider 42 is not supported. This is extremely strange, and shows us that the S8 was shipped with different mainboards (to make my work harder, thanks @samsung)

Honestly i really hate the S8 from the first day of kernel development, exactly because of the fact that if something works on my phone it doesn't automatically mean that it'll work for every S8 / S8+ Exynos.

I can remember that i slightly increased the clock of the bus speed that probably requires a higher divider for the MMC flash (in order to avoid OC of the MMC). So now to find out if this is the reason, try with stock kernel:

index - powered by h5ai v0.28.1 (https://larsjung.de/h5ai/)

index - powered by h5ai v0.28.1 (https://larsjung.de/h5ai/)

xda.mister-freeze.eu

i can also upload a test kernel with stock bus speed ..

Or even better you can check from time to time if you got sometimes proper output like mine .. by using ADB ... you even don't need to wait for a random reboot .. just reboot 2 times in a row and then here we go with ADB ...

Type this:

adb shell
su
cat /proc/last_kmsg | grep "mmc_host mmc0"

If you see everytime errors, then better flash stock kernel for now until i provide a test kernel later.

Should work wiithout wipe data !

Only change user_max_clock.

gpu_max_clock changes automatically according to the DVFS, and that's the reason why i have added user_max_clock in order to don't mess it up with DVFS and user max clock.

u can post the script that you created in /system/etc/init.d .. maybe there is something wrong.

You don't need to care about this interface, it's quite inaccurate and doesn't show the real actual gpu voltage, but it show basically the last used voltage just before the gpu went to powersave mode of 0 MHz. ;)

If you want to check what is your Max supported GPU Freq, then you should check sysfs interface

gpu_asv_table

The highest Freq that has voltage assigned, is supported.

Yeah i know, it's like a already said only cosmetics, i'll check when i've more time.

Yeah that's quite normal, also DVFS is coming from the ROM, so if the ROM decides too late to tell the kernel it should throttle, then we have this little heating up issue.

Maybe better to shut up with the ROM and to code a low-level DVFS in kernel with tunable when it should start to throttle, since it doesn't work properly.

Anyway, here on stock ROM i don't face really hard heating up even if run 3 times in a row 3DMark "Sling shot extreme" with Vulkan .. (more heat :D)

Also honestly i don't like it too how it works, when throttling should start then both at the same time CPU/GPU will throttle, instead to throttle only CPU or GPU as needed .... this is somehow not very efficient in terms of "best performance"

So it's definitely possible to make it better.

Which ROM are you using ?

ohh that sounds painful and for sure i would never upload such a bad kernel, it's basically not usable then. Such issue mostly happens if this kernel is installed on non stock ROM from Samsung or wrong user config for kernel or last bad one would be if there is filesystem corruptions caused by hardware issue itselfs or caused by too much random reboots ... (every random reboot basically has the potential to corrupt the filesystem because it's a dirty reboot without to sync dirty data from RAM that should be usually written to the MMC.

If you Guys really want 100 % stable phone, then every time a random reboot happened or let me say when it starts to freak out with app force closes, freezes and random reboots .. .then the only fix is to wipe data of /data /sdcard and if inserted as well for /sd-card.

/system (the ROM files) will not corrupt because it's mounted "ro" (read-only)

I know it's painful but i don't know more user friendly ways.

Those are hard facts that not every developer will tell you.

You are welcome.

Right, stock software was never fully optimized. And so yeah the kernel can't add missing optimizations from the ROM, only can optimize over stock kernel.

This is a good question, and above i've already give the answer.

Of course performance is in relation with the heat. Looks like Android 10 DVFS is more aggressive, but results in lower performance. Some users prefer a low temp, and some don't care about temp as long as it gives maximum possible speed and is of course stable. So what we should do ?

Hmm tested right now and i can't notice a delay, sorry :(

Thanks, but it depends on the hardware, see above description.