If you pass the delayUsecs argument with lots of microseconds apparently the driver just spins the kernel because it goes to 100%.  This replaces the delayUsecs argument with 0, followed by a usleep.  This change cuts the system CPU overhead from like 97% to 0.3%.

Comment out printf debugging statements.