I'm experiencing some data loss on a USB-to-serial adapter on a Raspberry Pi running at a (relatively) high data rate. I believe most of the work is carried out by kernel threads:

 2569 root      20   0       0      0      0 S   1.7  0.0   0:05.41 kworker/u8:0                                                                                                                                   
 2360 root      20   0       0      0      0 R   1.0  0.0   0:12.47 kworker/u8:2                                                                                                                                   

I notice they get periodically re-created (their PID's keep changing). Is there any way to keep them running the whole time, and/or prevent them from migrating to a different CPU?

I tried setting smp_affinity_list but this seems impossible on a Raspberry Pi:

$ echo 0 > /proc/irq/62/smp_affinity_list 
-ash: write error: Input/output error

This Kernel Debugging Story sounds quite similar to what I'm experiencing, but I can't seem to apply any of the suggested options.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.