Kevin,
On Thu, Aug 03, 2006 at 11:42:29AM -0500, Kevin Corry wrote:
> Hi Stephane,
>
> Here's a patch to reformat the help/usage text for pfmon. The current help
> text wraps a lot on a standard 80 column terminal window. These changes should
> make it much easier to read.
>
Is it wrapping because of excessive tabs or simply because the text is too long?
I noticed your patch removes all the \t. Wouldn't it be better to simply shorten
the text instead of removing the tabs replacing them with lots of white spaces?
> Signed-Off-By: Kevin Corry <[EMAIL PROTECTED]>
>
> Index: pfmon.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon.c,v
> retrieving revision 1.8
> diff -u -b -B -r1.8 pfmon.c
> --- pfmon.old/pfmon/pfmon.c 30 Jul 2006 22:05:19 -0000 1.8
> +++ pfmon/pfmon/pfmon.c 3 Aug 2006 16:07:22 -0000
> @@ -718,78 +718,132 @@
> {
> printf("usage: %s [OPTIONS]... COMMAND\n", argv[0]);
>
> - printf( "-h, --help\t\t\t\tdisplay this help and exit\n"
> - "-V, --version\t\t\t\toutput version information and exit\n"
> - "-l[regex], --show-events[=regex]\tdisplay all or a matching
> subset of the events\n"
> - "--long-show-events[=regex]\t\tdisplay all or a matching subset
> of the events with info\n"
> - "-i event, --event-info=event\t\tdisplay information about an
> event (numeric code or regex)\n"
> - "-u, -3 --user-level\t\t\tmonitor at the user level for all
> events (default: on)\n"
> - "-k, -0 --kernel-level\t\t\tmonitor at the kernel level for all
> events (default: off)\n"
> - "-1\t\t\t\t\tmonitor execution at privilege level 1 (default:
> off)\n"
> - "-2\t\t\t\t\tmonitor execution at privilege level 2 (default:
> off)\n"
> - "-e, --events=ev1,ev2,...\t\tselect events to monitor\n"
> - "-I,--info\t\t\t\tlist supported PMU models and compiled in
> sampling output formats\n"
> - "-t secs, --session-timeout=secs\t\tduration of the system wide
> session in seconds\n"
> - "-S format, --smpl-module-info=format\tdisplay information
> about a sampling output format\n"
> - "--debug\t\t\t\t\tenable debug prints\n"
> - "--verbose\t\t\t\tprint more information during execution\n"
> - "--outfile=filename\t\t\tprint results in a file\n"
> - "--append\t\t\t\tappend results to outfile\n"
> - "--overflow-block\t\t\tblock the task when sampling buffer is
> full (default: off)\n"
> - "--system-wide\t\t\t\tcreate a system wide monitoring session
> (default: per-task)\n"
> - "--smpl-outfile=filename\t\t\tfile to save the sampling
> results\n"
> - "--long-smpl-periods=val1,val2,...\tset sampling period after
> user notification\n"
> - "--short-smpl-periods=val1,val2,...\tset sampling period\n"
> - "--smpl-entries=n\t\t\tnumber of entries in sampling buffer\n"
> - "--with-header\t\t\t\tgenerate a header for results\n"
> - "--cpu-list=num,num1-num2,...\t\tspecify list, via numbers, of
> CPUs for system-wide session (default: all)\n"
> - "--aggregate-results\t\t\taggregate counts and sampling buffer
> outputs for multi CPU monitoring (default: off)\n"
> - "--trigger-code-start-address=addr\tstart monitoring only when
> code address is executed\n"
> - "--trigger-code-stop-address=addr\tstop monitoring when code
> address is executed\n"
> - "--trigger-data-start-address=addr\tstart monitoring only when
> data address is accessed\n"
> - "--trigger-data-stop-address=addr\tstop monitoring when data
> address code is accessed\n"
> - "--trigger-code-repeat\t\t\tstart/stop monitoring each time
> trigger start/stop are executed\n"
> - "--trigger-code-follow\t\t\tstart/stop code trigger applied to
> all monitored task (default first only)\n"
> - "--trigger-data-repeat\t\t\tstart/stop monitoring each time
> trigger start/stop are accessed\n"
> - "--trigger-data-follow\t\t\tstart/stop data trigger applied to
> all monitored task (default first only)\n"
> - "--trigger-data-ro\t\t\tdata trigger activated on read access
> (default read-write)\n"
> - "--trigger-data-wo\t\t\tdata trigger activated on write access
> (default read-write)\n"
> - "--trigger-start-delay=secs\t\tnumber of seconds before
> activating monitoring\n"
> - "--priv-levels=lvl1,lvl2,...\t\tset privilege level per event
> (any combination of [0123uk]))\n"
> - "--us-counter-format\t\t\tprint counters using commas (e.g.,
> 1,024)\n"
> - "--eu-counter-format\t\t\tprint counters using points (e.g.,
> 1.024)\n"
> - "--hex-counter-format\t\t\tprint counters in hexadecimal (e.g.,
> 0x400)\n"
> - "--smpl-module=name\t\t\tselect sampling module, use -I to list
> modules\n"
> - "--show-time\t\t\t\tshow real,user, and system time for the
> command executed\n"
> - "--symbol-file=filename\t\t\tELF image containing a symbol
> table\n"
> - "--sysmap-file=filename\t\t\tSystem.map-format file containing
> a symbol table\n"
> - "--check-events-only\t\t\tverify combination of events and exit
> (no measurement)\n"
> - "--smpl-periods-random=mask1:seed1,...\tapply randomization to
> long and short periods\n"
> - "--smpl-print-counts\t\t\tprint counters values when sampling
> session ends (default: no)\n"
> - "--attach-task pid\t\t\tmonitor process identified by pid\n"
> - "--reset-non-smpl-periods\t\ton overflow reset counters not
> used as sampling periods\n"
> - "--follow-fork\t\t\t\tmonitoring continues across fork\n"
> - "--follow-vfork\t\t\t\tmonitoring continues across vfork\n"
> - "--follow-pthread\t\t\tmonitoring continues across
> pthread_create\n"
> - "--follow-exec[=pattern]\t\t\tfollow exec with optional command
> pattern\n"
> - "--follow-exec-exclude=pattern\t\tfollow exec but exclude
> commands matching the pattern\n"
> - "--follow-all\t\t\t\tfollow fork, vfork, exec, pthreads\n"
> - "--no-cmd-output\t\t\t\tredirect all output of executed
> commands to /dev/null\n"
> - "--exec-split-results\t\t\tgenerate separate results output on
> execve()\n"
> - "--resolve-addresses\t\t\ttry to resolve code/data addresses to
> symbols\n"
> - "--extra-smpl-pmds=num,num1-num2,...\tspecify a list of extra
> PMD register to include in samples\n"
> + /* 1 2 3 4 5 6
> 7 8 */
> + /*
> 12345678901234567890123456789012345678901234567890123456789012345678901234567890
> */
> + printf( "-h, --help Display this help and
> exit.\n"
> + "-V, --version Output version
> information and exit.\n"
> + "-l[regex], --show-events[=regex] Display all or a
> matching subset of\n"
> + " the events.\n"
> + "--long-show-events[=regex] Display all or a
> matching subset of\n"
> + " the events with
> info.\n"
> + "-i event, --event-info=event Display information
> about an event\n"
> + " (numeric code or
> regex).\n"
> + "-u, -3 --user-level Monitor at the user
> level for all\n"
> + " events (default:
> on).\n"
> + "-k, -0 --kernel-level Monitor at the kernel
> level for all\n"
> + " events (default:
> off).\n"
> + "-1 Monitor execution at
> privilege level 1\n"
> + " (default: off).\n"
> + "-2 Monitor execution at
> privilege level 2\n"
> + " (default: off).\n"
> + "-e, --events=ev1,ev2,... Select events to
> monitor.\n"
> + "-I,--info List supported PMU
> models and compiled\n"
> + " in sampling output
> formats.\n"
> + "-t secs, --session-timeout=secs Duration of the system
> wide session in\n"
> + " seconds.\n"
> + "-S format, --smpl-module-info=format Display information
> about a sampling\n"
> + " output format.\n"
> + "--debug Enable debug prints.\n"
> + "--verbose Print more information
> during execution.\n"
> + "--outfile=filename Print results in a
> file.\n"
> + "--append Append results to
> outfile.\n"
> + "--overflow-block Block the task when
> sampling buffer is\n"
> + " full (default:
> off).\n"
> + "--system-wide Create a system wide
> monitoring session\n"
> + " (default:
> per-task).\n"
> + "--smpl-outfile=filename File to save the
> sampling results.\n"
> + "--long-smpl-periods=val1,val2,... Set sampling period
> after user\n"
> + " notification.\n"
> + "--short-smpl-periods=val1,val2,... Set sampling period.\n"
> + "--smpl-entries=n Number of entries in
> sampling buffer.\n"
> + "--with-header Generate a header for
> results.\n"
> + "--cpu-list=num,num1-num2,... Specify list, via
> numbers, of CPUs for\n"
> + " system-wide session
> (default: all).\n"
> + "--aggregate-results Aggregate counts and
> sampling buffer\n"
> + " outputs for multi CPU
> monitoring\n"
> + " (default: off).\n"
> + "--trigger-code-start-address=addr Start monitoring only
> when code address\n"
> + " is executed.\n"
> + "--trigger-code-stop-address=addr Stop monitoring when
> code address is\n"
> + " executed.\n"
> + "--trigger-data-start-address=addr Start monitoring only
> when data address\n"
> + " is accessed.\n"
> + "--trigger-data-stop-address=addr Stop monitoring when
> data address code\n"
> + " is accessed.\n"
> + "--trigger-code-repeat Start/stop monitoring
> each time trigger\n"
> + " start/stop are
> executed.\n"
> + "--trigger-code-follow Start/stop code
> trigger applied to all\n"
> + " monitored task
> (default first only).\n"
> + "--trigger-data-repeat Start/stop monitoring
> each time trigger\n"
> + " start/stop are
> accessed.\n"
> + "--trigger-data-follow Start/stop data
> trigger applied to all\n"
> + " monitored task
> (default first only).\n"
> + "--trigger-data-ro Data trigger activated
> on read access\n"
> + " (default
> read-write).\n"
> + "--trigger-data-wo Data trigger activated
> on write access\n"
> + " (default
> read-write).\n"
> + "--trigger-start-delay=secs Number of seconds
> before activating\n"
> + " monitoring.\n"
> + "--priv-levels=lvl1,lvl2,... Set privilege level
> per event (any\n"
> + " combination of
> [0123uk]).\n"
> + "--us-counter-format Print counters using
> commas\n"
> + " (e.g., 1,024).\n"
> + "--eu-counter-format Print counters using
> points\n"
> + " (e.g., 1.024).\n"
> + "--hex-counter-format Print counters in
> hexadecimal\n"
> + " (e.g., 0x400).\n"
> + "--smpl-module=name Select sampling
> module, use -I to list\n"
> + " modules.\n"
> + "--show-time Show real,user, and
> system time for the\n"
> + " command executed.\n"
> + "--symbol-file=filename ELF image containing a
> symbol table.\n"
> + "--sysmap-file=filename System.map-format file
> containing a\n"
> + " symbol table.\n"
> + "--check-events-only Verify combination of
> events and exit\n"
> + " (no measurement).\n"
> + "--smpl-periods-random=mask1:seed1,... Apply randomization to
> long and short\n"
> + " periods.\n"
> + "--smpl-print-counts Print counters values
> when sampling\n"
> + " session ends
> (default: no).\n"
> + "--attach-task pid Monitor process
> identified by pid.\n"
> + "--reset-non-smpl-periods On overflow reset
> counters not used as\n"
> + " sampling periods.\n"
> + "--follow-fork Monitoring continues
> across fork.\n"
> + "--follow-vfork Monitoring continues
> across vfork.\n"
> + "--follow-pthread Monitoring continues
> across\n"
> + " pthread_create.\n"
> + "--follow-exec[=pattern] Follow exec with
> optional command\n"
> + " pattern.\n"
> + "--follow-exec-exclude=pattern Follow exec but
> exclude commands\n"
> + " matching the
> pattern.\n"
> + "--follow-all Follow fork, vfork,
> exec, pthreads.\n"
> + "--no-cmd-output Redirect all output of
> executed commands\n"
> + " to /dev/null.\n"
> + "--exec-split-results Generate separate
> results output on\n"
> + " execve().\n"
> + "--resolve-addresses Try to resolve
> code/data addresses to\n"
> + " symbols.\n"
> + "--extra-smpl-pmds=num,num1-num2,... Specify a list of
> extra PMD register to\n"
> + " include in samples.\n"
>
> #ifdef CONFIG_PFMON_DEMANGLE
> - "--demangle-cpp\t\t\t\tC++ symbol demangling (default: off)\n"
> - "--demangle-java\t\t\t\tJava symbol demangling (default: off)\n"
> + "--demangle-cpp C++ symbol demangling
> (default: off).\n"
> + "--demangle-java Java symbol demangling
> (default: off).\n"
> #endif
> - "--saturate-smpl-buffer\t\t\tonly collect samples until buffer
> becomes full\n"
> - "--interval[=n]\t\t\t\tnumber of seconds to multiplex all event
> sets (default 1s)\n"
> - "--pin-command\t\t\t\tpin executed command on --cpu-list
> (system-wide only)\n"
> - "--switch-timeout=microseconds\t\tthe number of microseconds
> before switching to the next event set\n"
> - "--dont-start\t\t\t\tdo not activate monitoring in pfmon
> (per-thread only)\n"
> - "--excl-idle\t\t\t\texclude idle task from system-wide
> measurement\n"
> - "--cpu-set-relative\t\t\tCPU identifications relative to
> cpu_set affinity (default: off)\n"
> + "--saturate-smpl-buffer Only collect samples
> until buffer\n"
> + " becomes full.\n"
> + "--interval[=n] Number of seconds to
> multiplex all event\n"
> + " sets (default 1s).\n"
> + "--pin-command Pin executed command
> on --cpu-list\n"
> + " (system-wide only).\n"
> + "--switch-timeout=microseconds The number of
> microseconds before\n"
> + " switching to the next
> event set.\n"
> + "--dont-start Do not activate
> monitoring in pfmon\n"
> + " (per-thread only).\n"
> + "--excl-idle Exclude idle task from
> system-wide\n"
> + " measurement.\n"
> + "--cpu-set-relative CPU identifications
> relative to cpu_set\n"
> + " affinity (default:
> off).\n"
> );
>
> if (pfmon_current->pfmon_usage) pfmon_current->pfmon_usage();
> Index: pfmon_amd_x86_64.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_amd_x86_64.c,v
> retrieving revision 1.4
> diff -u -b -B -r1.4 pfmon_amd_x86_64.c
> --- pfmon.old/pfmon/pfmon_amd_x86_64.c 4 Jul 2006 14:55:51 -0000
> 1.4
> +++ pfmon/pfmon/pfmon_amd_x86_64.c 3 Aug 2006 16:07:22 -0000
> @@ -203,10 +203,10 @@
> static void
> pfmon_amd_x86_64_usage(void)
> {
> - printf(
> - "--counter-mask=msk1,msk2,...\t\tset event counter mask
> (0,1,2,3)\n"
> - "--inv-mask=i1,i2,...\t\t\tset event inverse counter mask
> (y/n,0/1)\n"
> - "--edge-mask=e1,e2,...\t\t\tset event edge detect (y/n,0/1)\n"
> + printf( "--counter-mask=msk1,msk2,... Set event counter mask
> (0,1,2,3).\n"
> + "--inv-mask=i1,i2,... Set event inverse
> counter mask\n"
> + " (y/n,0/1).\n"
> + "--edge-mask=e1,e2,... Set event edge detect
> (y/n,0/1).\n"
> );
> }
>
> Index: pfmon_gen_ia32.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_gen_ia32.c,v
> retrieving revision 1.2
> diff -u -b -B -r1.2 pfmon_gen_ia32.c
> --- pfmon.old/pfmon/pfmon_gen_ia32.c 29 Jun 2006 20:59:22 -0000 1.2
> +++ pfmon/pfmon/pfmon_gen_ia32.c 3 Aug 2006 16:07:22 -0000
> @@ -204,10 +204,10 @@
> static void
> pfmon_gen_ia32_usage(void)
> {
> - printf(
> - "--counter-mask=msk1,msk2,...\t\tset event counter mask
> (0,1,2,3)\n"
> - "--inv-mask=i1,i2,...\t\t\tset event inverse counter mask
> (y/n,0/1)\n"
> - "--edge-mask=e1,e2,...\t\t\tset event edge detect (y/n,0/1)\n"
> + printf( "--counter-mask=msk1,msk2,... Set event counter mask
> (0,1,2,3).\n"
> + "--inv-mask=i1,i2,... Set event inverse
> counter mask\n"
> + " (y/n,0/1).\n"
> + "--edge-mask=e1,e2,... Set event edge detect
> (y/n,0/1).\n"
> );
> }
>
> Index: pfmon_gen_ia64.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_gen_ia64.c,v
> retrieving revision 1.1.1.1
> diff -u -b -B -r1.1.1.1 pfmon_gen_ia64.c
> --- pfmon.old/pfmon/pfmon_gen_ia64.c 15 May 2006 14:07:52 -0000 1.1.1.1
> +++ pfmon/pfmon/pfmon_gen_ia64.c 3 Aug 2006 16:07:22 -0000
> @@ -86,9 +86,12 @@
> static void
> pfmon_gen_usage(void)
> {
> - printf( "--insecure\t\t\t\tallow rum/sum in monitored task(per-thread
> mode only)\n"
> - "--excl-intr\t\t\t\texclude interrupt-triggered execution from
> system-wide measurement\n"
> - "--intr-only\t\t\t\tinclude only interrupt-triggered execution
> from system-wide measurement\n"
> + printf( "--insecure Allow rum/sum in
> monitored task\n"
> + " (per-thread mode
> only).\n"
> + "--excl-intr Exclude
> interrupt-triggered execution\n"
> + " from system-wide
> measurement.\n"
> + "--intr-only Include only
> interrupt-triggered\n"
> + " execution from
> system-wide measurement.\n"
> );
> }
>
> Index: pfmon_i386_p6.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_i386_p6.c,v
> retrieving revision 1.4
> diff -u -b -B -r1.4 pfmon_i386_p6.c
> --- pfmon.old/pfmon/pfmon_i386_p6.c 4 Jul 2006 14:55:09 -0000 1.4
> +++ pfmon/pfmon/pfmon_i386_p6.c 3 Aug 2006 16:07:22 -0000
> @@ -205,10 +205,10 @@
> static void
> pfmon_i386_p6_usage(void)
> {
> - printf(
> - "--counter-mask=msk1,msk2,...\t\tset event counter mask
> (0,1,2,3)\n"
> - "--inv-mask=i1,i2,...\t\t\tset event inverse counter mask
> (y/n,0/1)\n"
> - "--edge-mask=e1,e2,...\t\t\tset event edge detect (y/n,0/1)\n"
> + printf( "--counter-mask=msk1,msk2,... Set event counter mask
> (0,1,2,3).\n"
> + "--inv-mask=i1,i2,... Set event inverse
> counter mask\n"
> + " (y/n,0/1).\n"
> + "--edge-mask=e1,e2,... Set event edge detect
> (y/n,0/1).\n"
> );
> }
>
> Index: pfmon_itanium.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_itanium.c,v
> retrieving revision 1.2
> diff -u -b -B -r1.2 pfmon_itanium.c
> --- pfmon.old/pfmon/pfmon_itanium.c 28 Jun 2006 15:27:44 -0000 1.2
> +++ pfmon/pfmon/pfmon_itanium.c 3 Aug 2006 16:07:22 -0000
> @@ -276,30 +276,38 @@
> static void
> pfmon_ita_usage(void)
> {
> - printf(
> - "--event-thresholds=thr1,thr2,...\tset event thresholds (no
> space)\n"
> - "--opc-match8=[mifb]:match:mask\t\tset opcode match for pmc8\n"
> - "--opc-match9=[mifb]:match:mask\t\tset opcode match for pmc9\n"
> - "--btb-no-tar\t\t\t\tdon't capture TAR predictions\n"
> - "--btb-no-bac\t\t\t\tdon't capture BAC predictions\n"
> - "--btb-no-tac\t\t\t\tdon't capture TAC predictions\n"
> - "--btb-tm-tk\t\t\t\tcapture taken IA-64 branches only\n"
> - "--btb-tm-ntk\t\t\t\tcapture not taken IA-64 branches only\n"
> - "--btb-ptm-correct\t\t\tcapture branch if target predicted
> correctly\n"
> - "--btb-ptm-incorrect\t\t\tcapture branch if target is
> mispredicted\n"
> - "--btb-ppm-correct\t\t\tcapture branch if path is predicted
> correctly\n"
> - "--btb-ppm-incorrect\t\t\tcapture branch if path is
> mispredicted\n"
> - "--btb-all-mispredicted\t\t\tcapture all mispredicted
> branches\n"
> - "--irange=start-end\t\t\tspecify an instruction address range
> constraint\n"
> - "--drange=start-end\t\t\tspecify a data address range
> constraint\n"
> - "--checkpoint-func=addr\t\t\ta bundle address to use as
> checkpoint\n"
> - "--ia32\t\t\t\t\tmonitor IA-32 execution only\n"
> - "--ia64\t\t\t\t\tmonitor IA-64 execution only\n"
> - "--insn-sets=set1,set2,...\t\tset per event instruction set
> (setX=[ia32|ia64|both])\n"
> - "--no-qual-check\t\t\t\tdo not check qualifier constraints on
> events\n"
> - "--insecure\t\t\t\tallow rum/sum in monitored task(per-thread
> mode and root only)\n"
> - "--excl-intr\t\t\t\texclude interrupt-triggered execution from
> system-wide measurement\n"
> - "--intr-only\t\t\t\tinclude only interrupt-triggered execution
> from system-wide measurement\n"
> + printf( "--event-thresholds=thr1,thr2,... Set event thresholds
> (no space).\n"
> + "--opc-match8=[mifb]:match:mask Set opcode match for
> pmc8.\n"
> + "--opc-match9=[mifb]:match:mask Set opcode match for
> pmc9.\n"
> + "--btb-no-tar Don't capture TAR
> predictions.\n"
> + "--btb-no-bac Don't capture BAC
> predictions.\n"
> + "--btb-no-tac Don't capture TAC
> predictions.\n"
> + "--btb-tm-tk Capture taken IA-64
> branches only.\n"
> + "--btb-tm-ntk Capture not taken
> IA-64 branches only.\n"
> + "--btb-ptm-correct Capture branch if
> target predicted\n"
> + " correctly.\n"
> + "--btb-ptm-incorrect Capture branch if
> target is\n"
> + " mispredicted.\n"
> + "--btb-ppm-correct Capture branch if path
> is predicted\n"
> + " correctly.\n"
> + "--btb-ppm-incorrect Capture branch if path
> is mispredicted.\n"
> + "--btb-all-mispredicted Capture all
> mispredicted branches.\n"
> + "--irange=start-end Specify an instruction
> address range\n"
> + " constraint.\n"
> + "--drange=start-end Specify a data address
> range constraint.\n"
> + "--checkpoint-func=addr A bundle address to
> use as checkpoint.\n"
> + "--ia32 Monitor IA-32
> execution only.\n"
> + "--ia64 Monitor IA-64
> execution only.\n"
> + "--insn-sets=set1,set2,... Set per event
> instruction set\n"
> + "
> (setX=[ia32|ia64|both]).\n"
> + "--no-qual-check Do not check qualifier
> constraints on\n"
> + " events.\n"
> + "--insecure Allow rum/sum in
> monitored task\n"
> + " (per-thread mode and
> root only).\n"
> + "--excl-intr Exclude
> interrupt-triggered execution\n"
> + " from system-wide
> measurement.\n"
> + "--intr-only Include only
> interrupt-triggered\n"
> + " execution from
> system-wide measurement.\n"
> );
> }
>
> Index: pfmon_itanium2.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_itanium2.c,v
> retrieving revision 1.2
> diff -u -b -B -r1.2 pfmon_itanium2.c
> --- pfmon.old/pfmon/pfmon_itanium2.c 28 Jun 2006 15:27:44 -0000 1.2
> +++ pfmon/pfmon/pfmon_itanium2.c 3 Aug 2006 16:07:22 -0000
> @@ -364,30 +364,39 @@
> static void
> pfmon_ita2_usage(void)
> {
> - printf(
> - "--event-thresholds=thr1,thr2,...\tset event thresholds (no
> space)\n"
> - "--opc-match8=[mifb]:match:mask\t\tset opcode match for pmc8\n"
> - "--opc-match9=[mifb]:match:mask\t\tset opcode match for pmc9\n"
> - "--btb-tm-tk\t\t\t\tcapture taken IA-64 branches only\n"
> - "--btb-tm-ntk\t\t\t\tcapture not taken IA-64 branches only\n"
> - "--btb-ptm-correct\t\t\tcapture branch if target predicted
> correctly\n"
> - "--btb-ptm-incorrect\t\t\tcapture branch if target is
> mispredicted\n"
> - "--btb-ppm-correct\t\t\tcapture branch if path is predicted
> correctly\n"
> - "--btb-ppm-incorrect\t\t\tcapture branch if path is
> mispredicted\n"
> - "--btb-brt-iprel\t\t\t\tcapture IP-relative branches only\n"
> - "--btb-brt-ret\t\t\t\tcapture return branches only\n"
> - "--btb-brt-ind\t\t\t\tcapture non-return indirect branches
> only\n"
> - "--irange=start-end\t\t\tspecify an instruction address range
> constraint\n"
> - "--drange=start-end\t\t\tspecify a data address range
> constraint\n"
> - "--checkpoint-func=addr\t\t\ta bundle address to use as
> checkpoint\n"
> - "--ia32\t\t\t\t\tmonitor IA-32 execution only\n"
> - "--ia64\t\t\t\t\tmonitor IA-64 execution only\n"
> - "--insn-sets=set1,set2,...\t\tset per event instruction set
> (setX=[ia32|ia64|both])\n"
> - "--inverse-irange\t\t\tinverse instruction range restriction\n"
> - "--no-qual-check\t\t\t\tdo not check qualifier constraints on
> events\n"
> - "--insecure\t\t\t\tallow rum/sum in monitored task(per-thread
> mode only)\n"
> - "--excl-intr\t\t\t\texclude interrupt-triggered execution from
> system-wide measurement\n"
> - "--intr-only\t\t\t\tinclude only interrupt-triggered execution
> from system-wide measurement\n"
> + printf( "--event-thresholds=thr1,thr2,... Set event thresholds
> (no space).\n"
> + "--opc-match8=[mifb]:match:mask Set opcode match for
> pmc8.\n"
> + "--opc-match9=[mifb]:match:mask Set opcode match for
> pmc9.\n"
> + "--btb-tm-tk Capture taken IA-64
> branches only.\n"
> + "--btb-tm-ntk Capture not taken
> IA-64 branches only.\n"
> + "--btb-ptm-correct Capture branch if
> target predicted\n"
> + " correctly.\n"
> + "--btb-ptm-incorrect Capture branch if
> target is\n"
> + " mispredicted.\n"
> + "--btb-ppm-correct Capture branch if path
> is predicted\n"
> + " correctly.\n"
> + "--btb-ppm-incorrect Capture branch if path
> is mispredicted.\n"
> + "--btb-brt-iprel Capture IP-relative
> branches only.\n"
> + "--btb-brt-ret Capture return
> branches only.\n"
> + "--btb-brt-ind Capture non-return
> indirect branches\n"
> + " only.\n"
> + "--irange=start-end Specify an instruction
> address range\n"
> + " constraint.\n"
> + "--drange=start-end Specify a data address
> range constraint.\n"
> + "--checkpoint-func=addr A bundle address to
> use as checkpoint.\n"
> + "--ia32 Monitor IA-32
> execution only.\n"
> + "--ia64 Monitor IA-64
> execution only.\n"
> + "--insn-sets=set1,set2,... Set per event
> instruction set\n"
> + "
> (setX=[ia32|ia64|both]).\n"
> + "--inverse-irange Inverse instruction
> range restriction.\n"
> + "--no-qual-check Do not check qualifier
> constraints on\n"
> + " events.\n"
> + "--insecure Allow rum/sum in
> monitored task\n"
> + " (per-thread mode
> only).\n"
> + "--excl-intr Exclude
> interrupt-triggered execution\n"
> + " from system-wide
> measurement.\n"
> + "--intr-only Include only
> interrupt-triggered\n"
> + " execution from
> system-wide measurement.\n"
> );
> }
>
> Index: pfmon_mips64.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_mips64.c,v
> retrieving revision 1.1
> diff -u -b -B -r1.1 pfmon_mips64.c
> --- pfmon.old/pfmon/pfmon_mips64.c 10 Jul 2006 20:55:54 -0000 1.1
> +++ pfmon/pfmon/pfmon_mips64.c 3 Aug 2006 16:07:22 -0000
> @@ -106,10 +106,10 @@
> static void
> pfmon_mips64_usage(void)
> {
> - printf(
> - "--counter-mask=msk1,msk2,...\t\tset event counter mask
> (0,1,2,3)\n"
> - "--inv-mask=i1,i2,...\t\t\tset event inverse counter mask
> (y/n,0/1)\n"
> - "--edge-mask=e1,e2,...\t\t\tset event edge detect (y/n,0/1)\n"
> + printf( "--counter-mask=msk1,msk2,... Set event counter mask
> (0,1,2,3).\n"
> + "--inv-mask=i1,i2,... Set event inverse
> counter mask\n"
> + " (y/n,0/1).\n"
> + "--edge-mask=e1,e2,... Set event edge detect
> (y/n,0/1).\n"
> );
> }
>
> Index: pfmon_montecito.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_montecito.c,v
> retrieving revision 1.2
> diff -u -b -B -r1.2 pfmon_montecito.c
> --- pfmon.old/pfmon/pfmon_montecito.c 28 Jun 2006 15:27:44 -0000 1.2
> +++ pfmon/pfmon/pfmon_montecito.c 3 Aug 2006 16:07:22 -0000
> @@ -367,28 +367,40 @@
> static void
> pfmon_mont_usage(void)
> {
> - printf( "--event-thresholds=thr1,thr2,...\tset event thresholds (no
> space)\n"
> - "--opc-match32=mifb:match:mask\t\tset opcode match for pmc32\n"
> - "--opc-match34=mifb:match:mask\t\tset opcode match for pmc34\n"
> - "--etb-tm-tk\t\t\t\tcapture taken IA-64 branches only\n"
> - "--etb-tm-ntk\t\t\t\tcapture not taken IA-64 branches only\n"
> - "--etb-ptm-correct\t\t\tcapture branch if target predicted
> correctly\n"
> - "--etb-ptm-incorrect\t\t\tcapture branch if target is
> mispredicted\n"
> - "--etb-ppm-correct\t\t\tcapture branch if path is predicted
> correctly\n"
> - "--etb-ppm-incorrect\t\t\tcapture branch if path is
> mispredicted\n"
> - "--etb-brt-iprel\t\t\t\tcapture IP-relative branches only\n"
> - "--etb-brt-ret\t\t\t\tcapture return branches only\n"
> - "--etb-brt-ind\t\t\t\tcapture non-return indirect branches
> only\n"
> - "--irange=start-end\t\t\tspecify an instruction address range
> constraint\n"
> - "--drange=start-end\t\t\tspecify a data address range
> constraint\n"
> - "--checkpoint-func=addr\t\t\ta bundle address to use as
> checkpoint\n"
> - "--inverse-irange\t\t\tinverse instruction range restriction\n"
> - "--no-qual-check\t\t\t\tdo not check qualifier constraints on
> events\n"
> - "--insecure\t\t\t\tallow rum/sum in monitored task(per-thread
> mode only)\n"
> - "--excl-intr\t\t\texclude interrupt-triggered execution from
> system-wide measurement\n"
> - "--intr-only\t\t\tinclude only interrupt-triggered execution
> from system-wide measurement\n"
> - "--irange-demand-fetch\t\t\tlimit irange to demand fetched
> cache lines for specific prefetch events\n"
> - "--irange-prefetch-match\t\t\tlimit irange to explicitly
> prefetched cache lines for specific prefetch events\n"
> + printf( "--event-thresholds=thr1,thr2,... Set event thresholds
> (no space).\n"
> + "--opc-match32=mifb:match:mask Set opcode match for
> pmc32.\n"
> + "--opc-match34=mifb:match:mask Set opcode match for
> pmc34.\n"
> + "--etb-tm-tk Capture taken IA-64
> branches only.\n"
> + "--etb-tm-ntk Capture not taken
> IA-64 branches only.\n"
> + "--etb-ptm-correct Capture branch if
> target predicted\n"
> + " correctly.\n"
> + "--etb-ptm-incorrect Capture branch if
> target is\n"
> + " mispredicted.\n"
> + "--etb-ppm-correct Capture branch if path
> is predicted\n"
> + " correctly.\n"
> + "--etb-ppm-incorrect Capture branch if path
> is mispredicted.\n"
> + "--etb-brt-iprel Capture IP-relative
> branches only.\n"
> + "--etb-brt-ret Capture return
> branches only.\n"
> + "--etb-brt-ind Capture non-return
> indirect branches\n"
> + " only.\n"
> + "--irange=start-end Specify an instruction
> address range\n"
> + " constraint.\n"
> + "--drange=start-end Specify a data address
> range constraint.\n"
> + "--checkpoint-func=addr A bundle address to
> use as checkpoint.\n"
> + "--inverse-irange Inverse instruction
> range restriction.\n"
> + "--no-qual-check Do not check qualifier
> constraints on\n"
> + " events.\n"
> + "--insecure Allow rum/sum in
> monitored task\n"
> + " (per-thread mode
> only).\n"
> + "--excl-intr Exclude
> interrupt-triggered execution\n"
> + " from system-wide
> measurement.\n"
> + "--intr-only Include only
> interrupt-triggered\n"
> + " execution from
> system-wide measurement.\n"
> + "--irange-demand-fetch Limit irange to demand
> fetched cache\n"
> + " lines for specific
> prefetch events.\n"
> + "--irange-prefetch-match Limit irange to
> explicitly prefetched\n"
> + " cache lines for
> specific prefetch\n"
> + " events.\n"
> );
> }
>
> Index: pfmon_smpl.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/pfmon_smpl.c,v
> retrieving revision 1.3
> diff -u -r1.3 pfmon_smpl.c
> --- pfmon.old/pfmon/pfmon_smpl.c 27 Jun 2006 14:08:58 -0000 1.3
> +++ pfmon/pfmon/pfmon_smpl.c 3 Aug 2006 16:35:57 -0000
> @@ -807,7 +807,7 @@
> printf("options for \"%s\" sampling format:\n",
> (*mod)->name);
> (*(*mod)->show_options)();
> } else {
> - printf("options for \"%s\" sampling format:\n\tnone\n",
> (*mod)->name);
> + printf("options for \"%s\" sampling format:\n
> none\n", (*mod)->name);
> }
> }
> }
> Index: dear_hist_ia64.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/smpl_mod/dear_hist_ia64.c,v
> retrieving revision 1.1.1.1
> diff -u -b -B -r1.1.1.1 dear_hist_ia64.c
> --- pfmon.old/pfmon/smpl_mod/dear_hist_ia64.c 15 May 2006 14:07:52 -0000
> 1.1.1.1
> +++ pfmon/pfmon/smpl_mod/dear_hist_ia64.c 3 Aug 2006 16:25:57 -0000
> @@ -302,15 +302,21 @@
> static void
> dear_hist_show_options(void)
> {
> - printf("\t--smpl-show-top=n\t\tshow only the top n entries in the
> histogram (default: all entries)\n");
> - printf("\t--smpl-inst-view\t\tshow instruction address based histogram
> (default)\n");
> - printf("\t--smpl-data-view\t\tshow data address based histogram\n");
> - printf("\t--smpl-level-view\t\tshow cache/tlb level based histogram\n");
> - printf("\t--smpl-sort-bycount\t\tsort samples by number of count
> received (default)\n");
> - printf("\t--smpl-sort-byvalue\t\tsort samples by their value\n");
> - printf("\t--smpl-sort-bylevel\t\tsort samples by cache/tlb hit
> level\n");
> - printf("\t--smpl-save-raw\t\t\tsave samples in binary format for
> offline processing\n");
> - printf("\t--smpl-show-function\t\tshow per-function histograms (default
> per address)\n");
> + printf( " --smpl-show-top=n Show only the top n
> entries in the\n"
> + " histogram (default:
> all entries).\n"
> + " --smpl-inst-view Show instruction
> address based histogram\n"
> + " (default).\n"
> + " --smpl-data-view Show data address
> based histogram.\n"
> + " --smpl-level-view Show cache/tlb level
> based histogram.\n"
> + " --smpl-sort-bycount Sort samples by number
> of count received\n"
> + " (default).\n"
> + " --smpl-sort-byvalue Sort samples by their
> value.\n"
> + " --smpl-sort-bylevel Sort samples by
> cache/tlb hit level.\n"
> + " --smpl-save-raw Save samples in binary
> format for\n"
> + " offline processing.\n"
> + " --smpl-show-function Show per-function
> histograms (default\n"
> + " per address).\n"
> + );
> }
>
> /*
> Index: dear_hist_ia64_old_smpl.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/smpl_mod/dear_hist_ia64_old_smpl.c,v
> retrieving revision 1.1.1.1
> diff -u -b -B -r1.1.1.1 dear_hist_ia64_old_smpl.c
> --- pfmon.old/pfmon/smpl_mod/dear_hist_ia64_old_smpl.c 15 May 2006
> 14:07:52 -0000 1.1.1.1
> +++ pfmon/pfmon/smpl_mod/dear_hist_ia64_old_smpl.c 3 Aug 2006 16:25:58
> -0000
> @@ -303,15 +303,21 @@
> static void
> dear_hist_show_options(void)
> {
> - printf("\t--smpl-show-top=n\t\tshow only the top n entries in the
> histogram (default: all entries)\n");
> - printf("\t--smpl-inst-view\t\tshow instruction address based histogram
> (default)\n");
> - printf("\t--smpl-data-view\t\tshow data address based histogram\n");
> - printf("\t--smpl-level-view\t\tshow cache/tlb level based histogram\n");
> - printf("\t--smpl-sort-bycount\t\tsort samples by number of count
> received (default)\n");
> - printf("\t--smpl-sort-byvalue\t\tsort samples by their value\n");
> - printf("\t--smpl-sort-bylevel\t\tsort samples by cache/tlb hit
> level\n");
> - printf("\t--smpl-save-raw\t\t\tsave samples in binary format for
> offline processing\n");
> - printf("\t--show-per-function\t\tshow per-function histograms (default
> per address)\n");
> + printf( " --smpl-show-top=n Show only the top n
> entries in the\n"
> + " histogram (default:
> all entries).\n"
> + " --smpl-inst-view Show instruction
> address based histogram\n"
> + " (default).\n"
> + " --smpl-data-view Show data address
> based histogram.\n"
> + " --smpl-level-view Show cache/tlb level
> based histogram.\n"
> + " --smpl-sort-bycount Sort samples by number
> of count received\n"
> + " (default).\n"
> + " --smpl-sort-byvalue Sort samples by their
> value.\n"
> + " --smpl-sort-bylevel Sort samples by
> cache/tlb hit level.\n"
> + " --smpl-save-raw Save samples in binary
> format for\n"
> + " offline processing.\n"
> + " --show-per-function Show per-function
> histograms (default\n"
> + " per address).\n"
> + );
> }
>
> /*
> Index: inst_hist_ia64_old_smpl.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/smpl_mod/inst_hist_ia64_old_smpl.c,v
> retrieving revision 1.1.1.1
> diff -u -b -B -r1.1.1.1 inst_hist_ia64_old_smpl.c
> --- pfmon.old/pfmon/smpl_mod/inst_hist_ia64_old_smpl.c 15 May 2006
> 14:07:52 -0000 1.1.1.1
> +++ pfmon/pfmon/smpl_mod/inst_hist_ia64_old_smpl.c 3 Aug 2006 16:25:58
> -0000
> @@ -133,8 +133,11 @@
> static void
> inst_hist_show_options(void)
> {
> - printf("\t--smpl-show-top=n\t\tshow only the top n entries in the
> histogram (default: all entries)\n");
> - printf("\t--smpl-show-function\t\tshow per-function histograms (default
> per address)\n");
> + printf( " --smpl-show-top=n Show only the top n
> entries in the\n"
> + " histogram (default:
> all entries).\n"
> + " --smpl-show-function Show per-function
> histograms (default\n"
> + " per address).\n"
> + );
> }
>
> /*
> Index: inst_hist_smpl.c
> ===================================================================
> RCS file: /cvsroot/perfmon2/pfmon/pfmon/smpl_mod/inst_hist_smpl.c,v
> retrieving revision 1.1.1.1
> diff -u -b -B -r1.1.1.1 inst_hist_smpl.c
> --- pfmon.old/pfmon/smpl_mod/inst_hist_smpl.c 15 May 2006 14:07:52 -0000
> 1.1.1.1
> +++ pfmon/pfmon/smpl_mod/inst_hist_smpl.c 3 Aug 2006 16:25:58 -0000
> @@ -131,8 +131,11 @@
> static void
> inst_hist_show_options(void)
> {
> - printf("\t--smpl-show-top=n\t\tshow only the top n entries in the
> histogram (default: all entries)\n");
> - printf("\t--smpl-show-function\t\tshow per-function histograms (default
> per address)\n");
> + printf( " --smpl-show-top=n Show only the top n
> entries in the\n"
> + " histogram (default:
> all entries).\n"
> + " --smpl-show-function Show per-function
> histograms (default\n"
> + " per address).\n"
> + );
> }
>
> /*
> _______________________________________________
> perfmon mailing list
> [email protected]
> http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/
--
-Stephane
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/