receive hangs; was TCP send() performance and eventual hangs

z.g
Posts: 22
Joined: Thu Dec 18, 2008 8:33 pm

Re: receive hangs; was TCP send() performance and eventual hangs

Post by z.g » Sun Mar 07, 2010 1:33 am

maximal speed that i can get with dswifi is about 40kbyte/s. packet size is 1420 bytes, vblank happens 30 times per second. 1420*30=42600=41.6kbyte. is it coincidence?

sgstair
Developer
Posts: 10
Joined: Fri Aug 12, 2005 5:13 am
Location: Camping on an Oxygen atom
Contact:

Re: receive hangs; was TCP send() performance and eventual hangs

Post by sgstair » Sun Mar 07, 2010 2:23 am

Yes, it is coincidence. Nothing in dswifi is synchronized to vblank. (with the exception of a failsafe in arm7, that checks for packets and fixes the wifi interrupt if it broke)
DSWifi notifies the arm9 via an interrupt (through fifo code) every time a packet comes in, so it's not even limited to the timer interrupt rate. (which is 50Hz, I think)

Most likely your latency + some inefficiency just mean transfers occur every 30ms or so, which isn't unreasonable.
I have seen speeds of 120kbyte/s in both directions on my local network. (note that this is about 1.1-1.2 mbit, including packet overhead), so it is capable of more under good conditions.

-Stephen
http://blog.akkit.org/ - http://wiki.akkit.org/ - Creator of DSWifi library - Authority on ARM ASM - Memorizer of DS Hardware Information

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 9 guests