R7800 SQM reduce speed to less than half with fiber

You are going to saturate CPU usage with a pipe that fat using SQM. First question is do you need SQM? Try the dslreports bufferbloat test to verify. If so, I recommend that you try a NSS build for the R7800. Pretty amazing results.

That link I posted is probably not the best. Search on my name and NSS or bufferbloat to find me. I do not have time to provide them to you right now. Another but again not what I was looking for. See further down that thread for build instructions and a .config that works as well as how to enable SQM with NSS.

EDIT:
Link to my diffconfig

Here is how I get the NSS code rebased against the current master:

git remote add nss https://github.com/Ansuel/openwrt.git

git fetch nss && git checkout -b my-nss nss/kernel5.4-nss-qsdk10.0 && git revert e168f9106a74bfd33ccca2a5f867652fb9caf073

git checkout master && git checkout -b my-master && git rebase my-nss

git add target/linux/ipq806x/files/include/net/netfilter/nf_conntrack_dscpremark_ext.h target/linux/ipq806x/files/include/uapi/linux/tc_act/tc_nss_mirred.h target/linux/ipq806x/files/net/netfilter/nf_conntrack_dscpremark_ext.c

vim target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts

git add target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
git rebase --continue

Note you want to delete everything from HEAD to the end in that last file or else it doesn't compile.

Alternatively, I believe others here are offering rebased code or maybe even unofficial images including NSS.

Once you have the build flashed, you use a modified set of values from my settings here as needed to enable the nssdq_codel. Adjust to your speeds. Also disable the SQM you setup in LuCI since it doesn't work with NSS anyway.

# cat /etc/rc.local

# irq balance between CPUs
[[ -x /usr/sbin/irqbalance ]] && /usr/sbin/irqbalance

modprobe nss-ifb
tc qdisc add dev nssifb root handle 1: nsstbl rate 700Mbit burst 1Mb
tc qdisc add dev nssifb parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default

#tc qdisc add dev eth0 root handle 1: nsstbl rate 22Mbit burst 1Mb
tc qdisc add dev eth0 root handle 1: nsstbl rate 22Mbit burst 100k
tc qdisc add dev eth0 parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default
ip link set up nssifb

exit 0