> > From coverletter: > > "This patch set modifies time implementation to use TSC when running on > a x86 > > CPU that has invarint TSC CPU flag set. Otherwise, the same Linux system > time > > is used as before. TSC is much more efficient both in performance and > > latency/jitter wise than Linux system call. This can be seen also with > > scheduler latency test which time stamps events with this API. All > latency > > measurements (min, ave, max) improved significantly." > > odp_sched_latency currently uses clock_gettime. It is my understanding > that clock_gettime does not have the over head of the system call. Can > you elaborate more on the 'improved significantly' part? >
clock_gettime() uses the same TSC, but when you profile it with perf you can see tens of kernel functions including system call entry, RCU maintenance, etc. E.g. in sched_latency test kernel consumed about 10% of all the cycles. Also latency measurement results improved like this: * min >3x lower * avg 2x lower * max more stable and 50% lower -Petri