Hi, Idennis!
Many thanks for your help!
I have profiled the execution time immediately before and after the call tcpip_thread_handle_msg(msg); in the tcpip_thread and I have these stats:
duration [ms] min 0, max 1000, avg 7, num of samples 20309; num samples by duration spaced 20ms (19752,43,18,7,6,16,20,20,15,25,31,45,37,37,33, 204 >= 320ms)
delay between calls [ms] min 0, max 2038, avg 31, num of 20308, num samples by duration spaced 20ms (17909,702,353,233,96,70,73,47,34,44,50,25,21,24,21,606)
I have placed a profile check immediately before and after the mmwlan_tx_wait_until_ready call in themmnetif_tx routine, and I have the stats
duration min 0, max 1000, average 17, num of 9103 (8546,43,18,7,6,16,20,20,15,25,31,46,38,35,33,204)
pause between calls min 0, max 22092, average 71, num of 9102 (7841,459,354,190,63,30,20,28,9,14,3,9,4,3,3,72)
I have similar status for spi_irq, profile placed across the call to mmosal_semb_wait in the morse_spi_irq_main
duration min 0, max 7, average 0, num of 19356 (19356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
pause between calls min 0, max 2039, average 41, numof 19354 (13937,2648,874,376,243,159,133,98,67,65,54,22,19,26,22,611)
and driver_task_main, placed across mmosal_semb_wait
duration 0,7,0,42875 (42875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
pause 0,2038,18,42873 (37519,2598,869,376,239,155,134,97,68,63,55,21,21,25,22,611)
I have not yet found an evident reason for the low throughput; I assume it is low because it is 20 times lower than the nominal bandwidth of 9Mbps and I was expecting some more, around 1 or 2 Mbps at least. The test executed is a speedtest executed from Chrome of an Android smartphone or a Linux PC.
I am testing in EU
These are my settings for the TX/RX pool, now I’ll give a try increasing the size to 32 and I’ll let you know:
#define MMPKTMEM_TX_POOL_N_BLOCKS (20)
#define MMPKTMEM_RX_POOL_N_BLOCKS (23)
Many thanks again for your help
Michele