I see a lot of drivers and filesystems using cond_resched. I understand that this is for voluntary preemption and that this helps interactive performance. Can someone shed a bit of light on why that is the case and more importantly, how and where do you decide to call cond_resched (or schedule...) in your code.
I am concerned that some of the code we are writing may benefit from voluntary preemption as it seems to "freeze" the system sometimes.
Moussa