Latency increase of >400 microseconds when doing sync()

Hello,

when i have a low priority process running on my P4 3.4GHz system which does sync() system-calls, my interrupt+scheduling latency jumps up to 400 microseconds.

This behavior is reproducible! To generate the sync() load i start "stress --io 2 " from weather.ou.edu/~apw/projects/stress

When i check the system with other tests, like sqrt() oder malloc() the latency is 25 microseconds (worst case). I tried with DMA enabled and disabled.

Is it possible that QNX can’t handle sync() calls properly?

Best regards,
Christian

sync() just calls procmgr_event_trigger(PROCMGR_EVENT_SYNC) which will deliver an event to any servers who have registered. So depending on what they do in response will determine what effect the sync() call has.

Does a QNX 6.3.2 default installation on a x86 system register any servers to PROCMGR_EVENT_SYNC?

I would assume the filesystem does.