gnuton / asuswrt-merlin.ng

Extends the support of Merlin firmware to more ASUS routers
Other
1.29k stars 75 forks source link

AX58U - cpu2 (core 3) always idle #605

Open nativ69 opened 2 weeks ago

nativ69 commented 2 weeks ago

Router Model Affected Models: AX58U

Firmware Version Affected 3004.388.7

Is this bug present in upstream Merlin releases too? Yes

Describe the bug CPU2 always idle. After some digging I found that's kernel flag isolcpus is set to 2, which means that the kernel processes scheduler will not interact with CPU2. It's also looks like irqaffinity is set to 0, which means that by default only CPU0 will handle IRQs. I don't know if this is the intended behavior or it's a bug.

To Reproduce Steps to reproduce the behavior:

  1. Login SSH
  2. cat /proc/cmdline
  3. output: isolcpus=2 root=/dev/ubiblock0_0 ubi.mtd=0 ubi.block=0,0 rootfstype=squashfs console=ttyAMA0 earlyprintk debug irqaffinity=0 pci=pcie_bus_safe

Expected behavior if that's a bug, I would expect that isolcpus flag will be removed from boot options. if that's not a bug, it would be nice to have an option (maybe there is already) to edit boot parameters.

robbbaxley commented 2 weeks ago

I have seen (and reported) this for CPU3 (Core 4) on the XT8 as well. Gnuton has reported this is normal behavior.

gnuton commented 2 weeks ago

As @robbbaxley this is by design like this and it comes from ASUS. Merlin is not changing this behaviour since we have not evidence of improved performance. You are free to locally change it to have more aggressive settings. Let us know if you see any benefit

nativ69 commented 2 weeks ago

@gnuton how can I change bootloader settings? currently i use taskset to manually override cpu assigned to each process.

gnuton commented 2 weeks ago

here is the file release/src-rt-5.04axhnd.675x/targets/96750GW/96750GW.RT-AX82U_V2