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/

Reply via email to