drivers/esp-hosted: Bug fixes and minor performance tuning.#12490
Conversation
a8ee18e to
7a950aa
Compare
| soft_timer_static_init(&network_timer, SOFT_TIMER_MODE_PERIODIC, 128, network_timer_callback); | ||
| soft_timer_reinsert(&network_timer, 128); | ||
| soft_timer_static_init(&network_timer, SOFT_TIMER_MODE_PERIODIC, 50, network_timer_callback); | ||
| soft_timer_reinsert(&network_timer, 50); |
There was a problem hiding this comment.
I don't think dropping this poll interval to 50ms will improve TCP/UDP throughput, this polling is used for things like DHCP timeout.
Can you try iperf3 with the existing value of 128 here?
There was a problem hiding this comment.
This also polls the WiFi driver (like cyw43_poll), I did notice a significant increase when lower it, but not much below 50ms.
There was a problem hiding this comment.
This change is much more important than LWIP config, when reverting back to 128ms I lose 40% of the TCP throughput.
There was a problem hiding this comment.
OK. I guess the esp-hosted driver needs more frequent polling (ideally it would interrupt the main processor when it needed polling).
There was a problem hiding this comment.
ideally it would interrupt the main processor when it needed polling
It does, but it still needs to poll at that rate, I'm also looking at the firmware to see if there's room for improvements there.
This patch reinstalls the pin IRQ handler on WiFi init, as some ports disable/remove pin IRQs on soft-reboot, or deinit the pins. Signed-off-by: iabdalkader <[email protected]>
The maximum SPI frame payload is 1600 - header_size. Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
7a950aa to
bf3dbad
Compare
Changes are: - Enable IRQ on WiFi data ready pin. - Fix WiFi SPI clock (an exact 30MHz is not possible). - Update WiFi pins. Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
bf3dbad to
9d5d2e8
Compare
iperf test before (UDP mode didn't work for some reason)
iperf test after: