Messages in this thread | | | Date | Fri, 11 Jan 2013 11:53:36 +0200 | Subject | Kernel driver vs libusb performance | From | Ozan Çağlayan <> |
| |
Hi,
I have a device which I'm currently accessing using libusb. It's basically a HID compliant USB device. It reports 32bytes of data with a time resolution of 128Hz, e.g. I have to read and store 32bytes each 1/128 second. One performance drawback is that those 32bytes chunks are encrypted with AES so once I receive them through the USB endpoint I first decrypt them.
So 128Hz is quite a low polling frequency and can be handled in a single-thread using a modern CPU, but I'm planning to run this loop on a Raspberry Pi or namely low-end, cheap embedded processors. I'm also using Python which is significantly slow on Raspberry Pi.
So I wonder whether writing a kernel driver which decrypts the packets using in-kernel crypto API and then exposing them through a character device node would bring a performance gain at all. At least on the userspace side I may get rid of all the bus searching, crypto key generation, fetching and decrypting boilerplate, am I in the wrong way?
Thanks,
-- Ozan Çağlayan Research Assistant Galatasaray University - Computer Engineering Dept. http://www.ozancaglayan.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |