Kevin, Your patch is in CVS now. Thanks.
Make sure you pull from CVS as I made other changes today. In particular I have added support for pfm_get_event_mask_code() to pentium4. On Fri, Aug 04, 2006 at 10:48:20AM -0500, Kevin Corry wrote: > On Fri August 4 2006 8:41 am, Kevin Corry wrote: > > On Thu August 3 2006 4:27 pm, Stephane Eranian wrote: > > > 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? > > > > The wrapping is due to the text being too long. I wrote it with the > > whitespace because it made it easier to verify the formatting within the > > code. If you'd like, I'll try to rewrite the patch today using \t's > > instead. > > Here's a new version of the patch. The help/usage text formatting should be > equivalent to my previous patch, but it now uses \t's instead of spaces in > the source code strings. > > -- > Kevin Corry > [EMAIL PROTECTED] > http://www.ibm.com/linux/ > http://evms.sourceforge.net/ > > > 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. > > Signed-Off-By: Kevin Corry <[EMAIL PROTECTED]> > > Index: pfmon/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 4 Aug 2006 15:35:27 -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\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\n" > + "\t\t\t\t\t the events.\n" > + "--long-show-events[=regex]\t\tDisplay all or a matching subset > of\n" > + "\t\t\t\t\t the events with info.\n" > + "-i event, --event-info=event\t\tDisplay information about an > event\n" > + "\t\t\t\t\t (numeric code or regex).\n" > + "-u, -3 --user-level\t\t\tMonitor at the user level for all\n" > + "\t\t\t\t\t events (default: on).\n" > + "-k, -0 --kernel-level\t\t\tMonitor at the kernel level for > all\n" > + "\t\t\t\t\t events (default: off).\n" > + "-1\t\t\t\t\tMonitor execution at privilege level 1\n" > + "\t\t\t\t\t (default: off).\n" > + "-2\t\t\t\t\tMonitor execution at privilege level 2\n" > + "\t\t\t\t\t (default: off).\n" > + "-e, --events=ev1,ev2,...\t\tSelect events to monitor.\n" > + "-I,--info\t\t\t\tList supported PMU models and compiled\n" > + "\t\t\t\t\t in sampling output formats.\n" > + "-t secs, --session-timeout=secs\t\tDuration of the system wide > session in\n" > + "\t\t\t\t\t seconds.\n" > + "-S format, --smpl-module-info=format\tDisplay information > about a sampling\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t full (default: off).\n" > + "--system-wide\t\t\t\tCreate a system wide monitoring session\n" > + "\t\t\t\t\t (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\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t system-wide session (default: all).\n" > + "--aggregate-results\t\t\tAggregate counts and sampling > buffer\n" > + "\t\t\t\t\t outputs for multi CPU monitoring\n" > + "\t\t\t\t\t (default: off).\n" > + "--trigger-code-start-address=addr\tStart monitoring only when > code address\n" > + "\t\t\t\t\t is executed.\n" > + "--trigger-code-stop-address=addr\tStop monitoring when code > address is\n" > + "\t\t\t\t\t executed.\n" > + "--trigger-data-start-address=addr\tStart monitoring only when > data address\n" > + "\t\t\t\t\t is accessed.\n" > + "--trigger-data-stop-address=addr\tStop monitoring when data > address code\n" > + "\t\t\t\t\t is accessed.\n" > + "--trigger-code-repeat\t\t\tStart/stop monitoring each time > trigger\n" > + "\t\t\t\t\t start/stop are executed.\n" > + "--trigger-code-follow\t\t\tStart/stop code trigger applied to > all\n" > + "\t\t\t\t\t monitored task (default first only).\n" > + "--trigger-data-repeat\t\t\tStart/stop monitoring each time > trigger\n" > + "\t\t\t\t\t start/stop are accessed.\n" > + "--trigger-data-follow\t\t\tStart/stop data trigger applied to > all\n" > + "\t\t\t\t\t monitored task (default first only).\n" > + "--trigger-data-ro\t\t\tData trigger activated on read access\n" > + "\t\t\t\t\t (default read-write).\n" > + "--trigger-data-wo\t\t\tData trigger activated on write > access\n" > + "\t\t\t\t\t (default read-write).\n" > + "--trigger-start-delay=secs\t\tNumber of seconds before > activating\n" > + "\t\t\t\t\t monitoring.\n" > + "--priv-levels=lvl1,lvl2,...\t\tSet privilege level per event > (any\n" > + "\t\t\t\t\t combination of [0123uk]).\n" > + "--us-counter-format\t\t\tPrint counters using commas\n" > + "\t\t\t\t\t (e.g., 1,024).\n" > + "--eu-counter-format\t\t\tPrint counters using points\n" > + "\t\t\t\t\t (e.g., 1.024).\n" > + "--hex-counter-format\t\t\tPrint counters in hexadecimal\n" > + "\t\t\t\t\t (e.g., 0x400).\n" > + "--smpl-module=name\t\t\tSelect sampling module, use -I to > list\n" > + "\t\t\t\t\t modules.\n" > + "--show-time\t\t\t\tShow real,user, and system time for the\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t symbol table.\n" > + "--check-events-only\t\t\tVerify combination of events and > exit\n" > + "\t\t\t\t\t (no measurement).\n" > + "--smpl-periods-random=mask1:seed1,...\tApply randomization to > long and short\n" > + "\t\t\t\t\t periods.\n" > + "--smpl-print-counts\t\t\tPrint counters values when sampling\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t pthread_create.\n" > + "--follow-exec[=pattern]\t\t\tFollow exec with optional > command\n" > + "\t\t\t\t\t pattern.\n" > + "--follow-exec-exclude=pattern\t\tFollow exec but exclude > commands\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t to /dev/null.\n" > + "--exec-split-results\t\t\tGenerate separate results output > on\n" > + "\t\t\t\t\t execve().\n" > + "--resolve-addresses\t\t\tTry to resolve code/data addresses > to\n" > + "\t\t\t\t\t symbols.\n" > + "--extra-smpl-pmds=num,num1-num2,...\tSpecify a list of extra > PMD register to\n" > + "\t\t\t\t\t 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\t\t\t\tC++ symbol demangling (default: off).\n" > + "--demangle-java\t\t\t\tJava 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\t\t\tOnly collect samples until > buffer\n" > + "\t\t\t\t\t becomes full.\n" > + "--interval[=n]\t\t\t\tNumber of seconds to multiplex all > event\n" > + "\t\t\t\t\t sets (default 1s).\n" > + "--pin-command\t\t\t\tPin executed command on --cpu-list\n" > + "\t\t\t\t\t (system-wide only).\n" > + "--switch-timeout=microseconds\t\tThe number of microseconds > before\n" > + "\t\t\t\t\t switching to the next event set.\n" > + "--dont-start\t\t\t\tDo not activate monitoring in pfmon\n" > + "\t\t\t\t\t (per-thread only).\n" > + "--excl-idle\t\t\t\tExclude idle task from system-wide\n" > + "\t\t\t\t\t measurement.\n" > + "--cpu-set-relative\t\t\tCPU identifications relative to > cpu_set\n" > + "\t\t\t\t\t affinity (default: off).\n" > ); > > if (pfmon_current->pfmon_usage) pfmon_current->pfmon_usage(); > Index: pfmon/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 4 Aug 2006 15:35:27 -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,...\t\tSet event counter mask > (0,1,2,3).\n" > + "--inv-mask=i1,i2,...\t\t\tSet event inverse counter mask\n" > + "\t\t\t\t\t (y/n,0/1).\n" > + "--edge-mask=e1,e2,...\t\t\tSet event edge detect (y/n,0/1).\n" > ); > } > > Index: pfmon/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 4 Aug 2006 15:35:27 -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,...\t\tSet event counter mask > (0,1,2,3).\n" > + "--inv-mask=i1,i2,...\t\t\tSet event inverse counter mask\n" > + "\t\t\t\t\t (y/n,0/1).\n" > + "--edge-mask=e1,e2,...\t\t\tSet event edge detect (y/n,0/1).\n" > ); > } > > Index: pfmon/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 4 Aug 2006 15:35:27 -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\t\t\t\tAllow rum/sum in monitored task\n" > + "\t\t\t\t\t (per-thread mode only).\n" > + "--excl-intr\t\t\t\tExclude interrupt-triggered execution\n" > + "\t\t\t\t\t from system-wide measurement.\n" > + "--intr-only\t\t\t\tInclude only interrupt-triggered\n" > + "\t\t\t\t\t execution from system-wide measurement.\n" > ); > } > > Index: pfmon/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 4 Aug 2006 15:35:27 -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,...\t\tSet event counter mask > (0,1,2,3).\n" > + "--inv-mask=i1,i2,...\t\t\tSet event inverse counter mask\n" > + "\t\t\t\t\t (y/n,0/1).\n" > + "--edge-mask=e1,e2,...\t\t\tSet event edge detect (y/n,0/1).\n" > ); > } > > Index: pfmon/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 4 Aug 2006 15:35:27 -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,...\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\n" > + "\t\t\t\t\t correctly.\n" > + "--btb-ptm-incorrect\t\t\tCapture branch if target is\n" > + "\t\t\t\t\t mispredicted.\n" > + "--btb-ppm-correct\t\t\tCapture branch if path is predicted\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t (setX=[ia32|ia64|both]).\n" > + "--no-qual-check\t\t\t\tDo not check qualifier constraints on\n" > + "\t\t\t\t\t events.\n" > + "--insecure\t\t\t\tAllow rum/sum in monitored task\n" > + "\t\t\t\t\t (per-thread mode and root only).\n" > + "--excl-intr\t\t\t\tExclude interrupt-triggered execution\n" > + "\t\t\t\t\t from system-wide measurement.\n" > + "--intr-only\t\t\t\tInclude only interrupt-triggered\n" > + "\t\t\t\t\t execution from system-wide measurement.\n" > ); > } > > Index: pfmon/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 4 Aug 2006 15:35:27 -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,...\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\n" > + "\t\t\t\t\t correctly.\n" > + "--btb-ptm-incorrect\t\t\tCapture branch if target is\n" > + "\t\t\t\t\t mispredicted.\n" > + "--btb-ppm-correct\t\t\tCapture branch if path is predicted\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t only.\n" > + "--irange=start-end\t\t\tSpecify an instruction address range\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t (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\n" > + "\t\t\t\t\t events.\n" > + "--insecure\t\t\t\tAllow rum/sum in monitored task\n" > + "\t\t\t\t\t (per-thread mode only).\n" > + "--excl-intr\t\t\t\tExclude interrupt-triggered execution\n" > + "\t\t\t\t\t from system-wide measurement.\n" > + "--intr-only\t\t\t\tInclude only interrupt-triggered\n" > + "\t\t\t\t\t execution from system-wide measurement.\n" > ); > } > > Index: pfmon/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 4 Aug 2006 15:35:27 -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,...\t\tSet event counter mask > (0,1,2,3).\n" > + "--inv-mask=i1,i2,...\t\t\tSet event inverse counter mask\n" > + "\t\t\t\t\t (y/n,0/1).\n" > + "--edge-mask=e1,e2,...\t\t\tSet event edge detect (y/n,0/1).\n" > ); > } > > Index: pfmon/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 4 Aug 2006 15:35:27 -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,...\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\n" > + "\t\t\t\t\t correctly.\n" > + "--etb-ptm-incorrect\t\t\tCapture branch if target is\n" > + "\t\t\t\t\t mispredicted.\n" > + "--etb-ppm-correct\t\t\tCapture branch if path is predicted\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t only.\n" > + "--irange=start-end\t\t\tSpecify an instruction address range\n" > + "\t\t\t\t\t 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\n" > + "\t\t\t\t\t events.\n" > + "--insecure\t\t\t\tAllow rum/sum in monitored task\n" > + "\t\t\t\t\t (per-thread mode only).\n" > + "--excl-intr\t\t\t\tExclude interrupt-triggered execution\n" > + "\t\t\t\t\t from system-wide measurement.\n" > + "--intr-only\t\t\t\tInclude only interrupt-triggered\n" > + "\t\t\t\t\t execution from system-wide measurement.\n" > + "--irange-demand-fetch\t\t\tLimit irange to demand fetched > cache\n" > + "\t\t\t\t\t lines for specific prefetch events.\n" > + "--irange-prefetch-match\t\t\tLimit irange to explicitly > prefetched\n" > + "\t\t\t\t\t cache lines for specific prefetch\n" > + "\t\t\t\t\t events.\n" > ); > } > > Index: pfmon/smpl_mod/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 4 Aug 2006 15:35:28 -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( "\t--smpl-show-top=n\t\tShow only the top n entries in the\n" > + "\t\t\t\t\t histogram (default: all entries).\n" > + "\t--smpl-inst-view\t\tShow instruction address based > histogram\n" > + "\t\t\t\t\t (default).\n" > + "\t--smpl-data-view\t\tShow data address based histogram.\n" > + "\t--smpl-level-view\t\tShow cache/tlb level based histogram.\n" > + "\t--smpl-sort-bycount\t\tSort samples by number of count > received\n" > + "\t\t\t\t\t (default).\n" > + "\t--smpl-sort-byvalue\t\tSort samples by their value.\n" > + "\t--smpl-sort-bylevel\t\tSort samples by cache/tlb hit > level.\n" > + "\t--smpl-save-raw\t\t\tSave samples in binary format for\n" > + "\t\t\t\t\t offline processing.\n" > + "\t--smpl-show-function\t\tShow per-function histograms > (default\n" > + "\t\t\t\t\t per address).\n" > + ); > } > > /* > Index: pfmon/smpl_mod/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 4 Aug 2006 15:35:28 > -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( "\t--smpl-show-top=n\t\tShow only the top n entries in the\n" > + "\t\t\t\t\t histogram (default: all entries).\n" > + "\t--smpl-inst-view\t\tShow instruction address based > histogram\n" > + "\t\t\t\t\t (default).\n" > + "\t--smpl-data-view\t\tShow data address based histogram.\n" > + "\t--smpl-level-view\t\tShow cache/tlb level based histogram.\n" > + "\t--smpl-sort-bycount\t\tSort samples by number of count > received\n" > + "\t\t\t\t\t (default).\n" > + "\t--smpl-sort-byvalue\t\tSort samples by their value.\n" > + "\t--smpl-sort-bylevel\t\tSort samples by cache/tlb hit > level.\n" > + "\t--smpl-save-raw\t\t\tSave samples in binary format for\n" > + "\t\t\t\t\t offline processing.\n" > + "\t--show-per-function\t\tShow per-function histograms > (default\n" > + "\t\t\t\t\t per address).\n" > + ); > } > > /* > Index: pfmon/smpl_mod/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 4 Aug 2006 15:35:28 > -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( "\t--smpl-show-top=n\t\tShow only the top n entries in the\n" > + "\t\t\t\t\t histogram (default: all entries).\n" > + "\t--smpl-show-function\t\tShow per-function histograms > (default\n" > + "\t\t\t\t\t per address).\n" > + ); > } > > /* > Index: pfmon/smpl_mod/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 4 Aug 2006 15:35:28 -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( "\t--smpl-show-top=n\t\tShow only the top n entries in the\n" > + "\t\t\t\t\t histogram (default: all entries).\n" > + "\t--smpl-show-function\t\tShow per-function histograms > (default\n" > + "\t\t\t\t\t per address).\n" > + ); > } > > /* -- -Stephane _______________________________________________ perfmon mailing list [email protected] http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/
