In some cases, I don't want systemtap to merge pre-cpu files into a single "probe.out", e.g. in binary tracing, or when large pre-cpu files are huge. But if I patch the stpd code to do this, I'll lost the merge ability in all cases. I found "-m" option has been implemented in stpd, but it is never been used by stap. I think it is necessary to add such an option to stap.
Furthermore, when this option is given, could do: * use "-m" option to invoke stpd * add a macro such as "#define NO_MERGE" into C module file, to inform the runtime print facility not to generate unnecessary data such as sequence id
(In reply to comment #1) > Furthermore, when this option is given, could do: > * use "-m" option to invoke stpd > * add a macro such as "#define NO_MERGE" into C module file, to > inform the runtime print facility not to generate unnecessary > data such as sequence id I am modifying stap to add option "-m" for stpd. Can you give me a specific example how to create non merged output files? I tried to run stpd alone, but I always get a merged output file regardless of having option "-m" or not. I also tried to vary the buffer size (option -b), but did not find any difference. /root/systemtap_src/src/stpd -m -o probe.out stap_32086.ko Which probe/condition you used that can illustrate this behavior? Pls let me know.
(In reply to comment #2) > I am modifying stap to add option "-m" for stpd. Can you give me a specific > example how to create non merged output files? I tried to run stpd alone, but > I always get a merged output file regardless of having option "-m" or not. I > also tried to vary the buffer size (option -b), but did not find any > difference. Sorry, it seems I misunderstood "-m" option for stpd. I always generate un-merged result files using the following patch: diff -Nur src.old/runtime/stpd/stpd.c src/runtime/stpd/stpd.c --- src.old/runtime/stpd/stpd.c 2006-05-08 04:20:38.000000000 -0400 +++ src/runtime/stpd/stpd.c 2006-05-08 04:21:00.000000000 -0400 @@ -35,7 +35,7 @@ int print_only = 0; int quiet = 0; -int merge = 1; +int merge = 0; int verbose = 0; int enable_relayfs = 1; int target_pid = 0;
patch committed.
> I am modifying stap to add option "-m" for stpd. Can you give me a specific > example how to create non merged output files? I tried to run stpd alone, but > I always get a merged output file regardless of having option "-m" or not. I > also tried to vary the buffer size (option -b), but did not find any > difference. > > /root/systemtap_src/src/stpd -m -o probe.out stap_32086.ko > > Which probe/condition you used that can illustrate this behavior? > Pls let me know. preventing stpd from merging per-cpu files is only valid for bulk (relayfs) mode. It's meaningful for those large volumn probe data. I committed the patch for this bug since our team is blocked by this bug.
(In reply to comment #5) > > I am modifying stap to add option "-m" for stpd. Can you give me a specific > > example how to create non merged output files? I tried to run stpd alone, but > > I always get a merged output file regardless of having option "-m" or not. I > > also tried to vary the buffer size (option -b), but did not find any > > difference. > > > > /root/systemtap_src/src/stpd -m -o probe.out stap_32086.ko > > > > Which probe/condition you used that can illustrate this behavior? > > Pls let me know. > preventing stpd from merging per-cpu files is only valid for bulk (relayfs) > mode. It's meaningful for those large volumn probe data. > I committed the patch for this bug since our team is blocked by this bug. Sure. thanks for the info.