Need help explaining of "time" command output in SMP system

I wrote a test program and scripts to test our IPC performance in
QNX environment and saw the following interesting results.

Can someone from QNX explain to me
why the system is so much higher in SMP setupvs the one CPU setup?
why the user time?

Does the QNX has any vmstate or iostat type tools to look at kernel
stat?

Thanks
-Tony Lee
Nokia Networks.

SMP with large Q Size no trace - 50 millions pkts 10 mil/tasks 5 sending
tasks, and 5 recv tasks

SMP: 10 mil pkts between 5 tasks (spin_lock) 208.838 kPkts/Seconds
time nice t_ipc.sh 10000000 64 5 200 0
239.42s real 171.90s user 256.96s system

One CPU with large Q Size no trace - 50 millions pkts 10 mil/tasks 5
sending tasks, and 5 recv tasks
time nice t_ipc.sh 10000000 64 5 200 0
364.86s real 239.33s user 123.47s system

“Tony Lee” <tl_168168@hotmail.com> wrote in news:a40v32$r6b$1@inn.qnx.com:

Can someone from QNX explain to me
why the system is so much higher in SMP setupvs the one CPU setup?
why the user time?

In an SMP system, the tracking of the “system time” isn’t done as well as
it should be. In traditional *NIX kernels, it represents time spend inside
the system. The issue is that many services are handled by non-kernel
modules in the QNX case. So sometimes the distinction isn’t handled well
in the SMP case (since you can have user and system time, ticking off at
the same time). We’ll be looking into this for a future release.


\

Cheers,
Adam

QNX Software Systems Ltd.
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>