binary printf checked in
Gui,Jian
guij@cn.ibm.com
Mon Apr 10 10:27:00 GMT 2006
> I've committed a new printf. I'm working on docs and tests and will get
> those in tomorrow. Meanwhile, please give it a try and let me know about
> any problems, needed enhancements, etc.
>
> This printf implements %b, %n, and corrects problems with %p.
>
Can you add the suport of "%lb" (and "%llb") ?
%lb: print a long integer in binary format
%llb: print a long long integer in binary format
Because a long integer is 4-byte on 32bit machines but 8-byte on 64bit ones,
it is inconvient to use "%b" to handle them both.
I tried the binary printf on my ppc64/2.6.9-34.EL and it works well.
Here is some performance result:
SystemTap BENCH2 Mon Apr 10 09:35:17 EDT 2006
kernel: 2.6.9-34.EL.root ppc64
Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
localhost.localdomain: 09:35:17 up 1 min, 1 user, load average: 0.54, 0.22,
0.08
processors: 8 POWER5 (gr) 1502.496000MHz revision: 2.2
MemTotal: 2045148 kB MemFree: 1933824 kB
----------------------------------------------------------------
For comparison, function call overhead is 273 nsecs.
Times below are nanoseconds per probe and include kprobe overhead.
----------------------------------------------------------------
+--- S = Script, R = Runtime
|+-- * = Relayfs Threads
|| NAME 1 2 4 8
R : empty probe 987 1072 1126 667
S : empty probe 1179 1254 1304 787
S : printf 100 chars 2996 3592 3500 1971
WARNING: 436619 transport failures with 8 threads
S*: printf 100 chars 3308 3127 3090 2058
S : print 100 chars 3738 3488 3870 2263
WARNING: 133203 transport failures with 8 threads
S : printf 5 integers 6023 6040 5906 4224
S : binary printf 5 integers 2358 2447 2703 1836
S : printf 10 integers 10194 10301 9893 7379
WARNING: 75799 transport failures with 8 threads
S : binary printf 10 integers 2940 3446 3446 2029
WARNING: 153729 transport failures with 8 threads
More information about the Systemtap
mailing list