by support »
Hello,
The most likely explanation is that you're not pushing data fast enough from the host. You may want to check the process' CPU consumption (with "top" in Linux).
This happens when the data buffer that is allocated and used in the user program is too small, so write() is called too often. Each write() is a system call with its processing overhead, and this wastes CPU as the data rate increases.
The sample programs given by Xillybus use a small buffer in order to skip the malloc() part, but for a serious application, they should be something like 128kB - 512kB.
Regards,
Eli
Hello,
The most likely explanation is that you're not pushing data fast enough from the host. You may want to check the process' CPU consumption (with "top" in Linux).
This happens when the data buffer that is allocated and used in the user program is too small, so write() is called too often. Each write() is a system call with its processing overhead, and this wastes CPU as the data rate increases.
The sample programs given by Xillybus use a small buffer in order to skip the malloc() part, but for a serious application, they should be something like 128kB - 512kB.
Regards,
Eli