And basically what it's saying is that the Linux kernel has a 10ms timer loop on all i386 architectures, even my PIV chip. So this could be causing the behavior -- the nanosleep is waiting for the minimum (10ms) plus up to as much as another 10ms.

I was just hoping someone could tell me how to get around that. :-)