我有一段代码,它的性能是我想要提高的。代码在概念上很简单:每隔5毫秒从内核空间的传感器获取一些数据,用这些数据填充队列,然后在用户空间中读取数据以进行处理。
目前,我在内核空间中有一个线程来填充队列,并且我有一个字符设备,它具有读取文件操作功能,可以使用copy_to_user将这些数据传输到用户空间。
让我给您展示一下代码的一些框架:
用户空间视角.
// In userspace side
int process_queue (void)
{
int fd = -1;
int data_offset = 0;
fd = open_char_device_from