EE/IOP priority
Posted: Sat Jun 11, 2005 8:01 pm
I've written a simple program (launched using ps2client and ps2link) that opens a socket and sends data to my laptop using ps2ip(s) over ethernet (yes, I've already been warned about the possibility of bugs in ps2ip :)
It is a simple send/recv loop, but takes about 40 seconds to transfer 300K of data. If I add 'printf(".")' into the loop, the same transfer takes about 1 second!...
The helpful guys on IRC pointed out that this could be because the EE is hogging the bus and not allowing the IOP to do its job. How do I yield within the loop to give the IOP a chance?... I tried "SleepThread" in the loop, but the transfer still took around 40 seconds.
Could the problem be that I am using blocking IO? (I'm not using select yet)
It is a simple send/recv loop, but takes about 40 seconds to transfer 300K of data. If I add 'printf(".")' into the loop, the same transfer takes about 1 second!...
The helpful guys on IRC pointed out that this could be because the EE is hogging the bus and not allowing the IOP to do its job. How do I yield within the loop to give the IOP a chance?... I tried "SleepThread" in the loop, but the transfer still took around 40 seconds.
Could the problem be that I am using blocking IO? (I'm not using select yet)