Netgear R7800 exploration (IPQ8065, QCA9984)

Wow, that seems to be a bit faster than ipq806x Linksys EA8500:
| r3042 | ARMv7 Processor rev 0 (v7l) | 9.37 | ARMv7 Processor rev 0 (v7l) | 45.57 | Qualcomm (Flattened Device Tree) | 1.0.2k | 113688660 | 140577330 | 106261500 | 50258130 | 20346880 | 7244030 | 53185330 | 42715280 | 41551190 | 107.1 | 4769.5 472.4 | 472.8 |

Yeah, that is the goal. I tried it yesterday, but like I said, I got some compilation errors. I wanted to quickly see it irqbalance works at all, so I switched it to use external glib2 for now.

But I will try to get the internal glib stub compiled.

[quote="jow, post:59, topic:285"]
just make it use its bundled glib-local which is merely a tiny stub adding a few linked list functions.
[/quote]Using the internal stub works ok by itself, but it looks like there are recent upstream commits that have bypassed the "external glib on/off" selection and force glib types to everywhere via glib.unix.h requirement :frowning:

I will try reverting that.

And I will file bug at upstream. It makes no sense to provide a config option and internal stub for glib, if that is overlooked in code.

I managed to disable glib2 usage in irqbalance by reverting an upstream commit. The packages feed repo has been updated with

1 Like

This is likely related to the interrupt mitigation in the SOC ethernet controller. (It can be disabled through the ethernet driver though.)

What does that mean? Do the have something like interrupt coalescing running inside the ethernet driver?

Do you experience this dmesg spam with block-mount installed?
[ 8.703103] mount_root: loading kmods from internal overlay
[ 8.713724] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[ 8.715102] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[ 8.726678] blk_update_request: I/O error, dev mtdblock0, sector 0
[ 8.727219] blk_update_request: I/O error, dev mtdblock0, sector 8
[ 8.733528] blk_update_request: I/O error, dev mtdblock0, sector 16
[ 8.739714] blk_update_request: I/O error, dev mtdblock0, sector 24
[ 8.745747] blk_update_request: I/O error, dev mtdblock0, sector 0
[ 8.751514] Buffer I/O error on dev mtdblock0, logical block 0, async page read
[ 8.758656] blk_update_request: I/O error, dev mtdblock1, sector 0
[ 8.765408] blk_update_request: I/O error, dev mtdblock1, sector 8
[ 8.771721] blk_update_request: I/O error, dev mtdblock1, sector 16
[ 8.777817] blk_update_request: I/O error, dev mtdblock1, sector 24
[ 8.784105] blk_update_request: I/O error, dev mtdblock1, sector 0
[ 8.789794] Buffer I/O error on dev mtdblock1, logical block 0, async page read

1 Like

There's new wifi firmware by the way

Yes. The same log spam.

The newer wifi firmware seem to add mesh support
ath10k_pci 0001:01:00.0: firmware ver 10.4-3.4-00072 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast crc32 75ec955f

How's your experience using irqbalance by the way?

[quote="dissent1, post:71, topic:285, full:true"]
How's your experience using irqbalance by the way?
[/quote]I tried it and looked into network traffic thrgouhput results with "flent" for various QoS strategies in SQM (simple, layer_cake) as the simple/fq_codel has a strange miscalculation due to poor HTB performance (like I have discussed earlier).

Using irqbalance improved throughput somewhat, but as my ISP connection does not fully consume the CPU power, there is not that much difference. I used 90/8 Mbit/s limits:

                        90  /  8  / latency

cake irqbalance        85,6 / 6.1 / 18
simple default (33)    80.5 / 6.4 / 20
simple affinity 1-2    81.2 / 6.2 / 20
simple irqbalance      81.4 / 6.4 / 19

Changing eth0/eth1 affinity from the default 3-3 to 1-2 already improved download thoughput slightly (by 0.7 Mb/s) but hurt upload a bit, and then irqbalance further improved both directions marginally.

I have not tested how IRQs would behave with wifi traffic.

Irqbalance moved IRQs during the test several times and to my surprise actually moved eth0 and eth1 to the same affinity. It apparently balanced them against some other IRQs that were relevant to the traffic.

The impact from irqbalance was so small that I did not install it into my build by default. If I had a connection that would fully consume the CPU, then it might have more use.

@hnyman, did you have the irqbalance integrated to your latest lede1701-r3133-86bd886697-20170208 ?

I have a new unit on hand, I think I can test it out within 2 days on my 300/30 connection

No, I have not yet backported irqbalance to 17.01. So far it only exists in master.
But I might backport it. (no actual changes are needed, so it is rather easy)

Actually, both 17.01 and master are currently built with kernel 4.4.47 and have musl 1.16, so it is very likely that the package built by the builtbot for master would also run in 17.01:

I need some help (not related to irqbalance)

My wifi can only get 6Mbit bitrate for 5G, 1Mbit for 2.4G for download.
The upload can work properly. Any idea?

I tried different build, and those from buildbot as well

Shows the same for me in Luci. Not sure if it is a bug but it is incorrect as I still get full throughput so I would disregard that until we get further info.

Thanks @travmo

My problem seems to be 2 combined in 1.

The bitrate you told me just now so I ignored it.

My real problem is the extreme slow wifi link at 0.01Mbit on speedtest. I revert to stock and need a reset from stock firmware for this to get fixed. Now is good and start testing with r3375

Ah okay, I see now. I thought you showed 6 Mbit/s for 5G and 1 Mbit/s to 2.4. If you are actually getting slow speeds, then that is another issue. Glad you it working on another build. I use Wifi Explorer for Mac to see what my max rate is.

What you thought is right, I actually mean that. Just come together with another one :slight_smile: