I am using uCLinux Distribution (Kernel 2.6.34) and gadgetfs for USB connectivity. I am able to perform data transfer through read and write (both synchronous) APIs. In my implementation the reader thread calls the read() API and waits untill there is some data from gadgetfs driver. During this wait I expect the gadgetfs to be idle if there is no data from host hence this thread is moved to sleep or wait state of OS. But "top" shows that the reader thread comsumes 99% or 100% of CPU. Is this the correct behavior of gadgetfs ? Can someone comment on this ?
Thank you in advance!