freenode/#mezzano - IRC Chatlog
Search
12:49:52
fittestbits__
I setup a USB bulk transfer operation in memory, then tell the USB controller there's work to do.
12:50:42
fittestbits__
It looks like the controller checks memory before the data structures are update and doesn't see any work to do.
12:51:43
fittestbits__
If I tell the controller there's work to do from a REPL, it completes the operation and things proceed as normal.
12:52:12
fittestbits__
This occurs once in many transfers, so things go along fine, then seem to hang.
12:53:17
fittestbits__
I put a sleep 0.01 between writing the data structures and notifying the controller and got my file system test to run 5 times without hanging.
12:53:44
fittestbits__
Without the sleep, I haven't been able to get the test to run once without hanging.
12:55:19
fittestbits__
I tried created an function that does an SFENCE instruction and put that before notifying the controller but that didn't fix the problem.
12:58:04
fittestbits__
I guess I'm looking for suggestions on how to proceed. Using sleep 0.01 as a work around really hurts performance.
16:05:19
froggey
is this in VirtualBox? if so try to reproduce in qemu & add printfs to the emulator?
16:30:51
fittestbits__
BTW, I replaced the sleep 0.01 with a read of an USB controller register. I got one hang in 5 runs of my test program. So a lot better, but still not quite right.
16:31:29
fittestbits__
I haven't done anything with qemu, so I'll have to come up the learning curve to use it.
16:58:13
fittestbits__
I wasn't complaining about the qemu suggestion. Sorry if it came across that way.
17:09:22
froggey
no no, don't worry, I didn't mean for that to sound grumpy. just why I'd pick instrumenting qemu over virtualbox