gettimeofday() cripples notsc system

Michael Hohnbaum (hohnbaum@us.ibm.com)
19 Nov 2002 17:06:25 -0800


John,

Running a large application that issues many gettimeofday()
system calls on a kernel running with notsc, results in time
slowing way down. I've seen the system time advance only
three minutes over a 30 minute period. The following program,
executed twice demonstrates the problem. Three instances running
in parallel made a 16 processor machine completely unusable.

#include <sys/time.h>

main()
{
struct timeval tv;
struct timezone tz;
while (1)
if (gettimeofday(&tv, &tz))
return;
}

I've recreated on 2.5.30, 2.5.44, and 2.5.47. Running a system that
is using the tsc I've tried 100 instances of this test running in
parallel with no problems - other than the normal incorrect time due
to tsc skew. At least no time slowdowns or hangs. The system I'm
using is a 4 node NUMAQ (x86) box.

I assume there is a lock starvation problem happening here, correct?
Any chance of fixing this?

-- 

Michael Hohnbaum 503-578-5486 hohnbaum@us.ibm.com T/L 775-5486

- 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/