From: SourceForge.net <no...@so...> - 2008-06-02 14:24:40
|
Bugs item #1982201, was opened at 2008-06-02 17:24 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: tommi (ttrantal) Assigned to: Nobody/Anonymous (nobody) Summary: opreport --xml total event count mismatch Initial Comment: Profiling with the --separate flag, opreport XML output can give incorrect total count. To reproduce: 1) Put this to ''/tmp/test.c'' and compile with ''gcc test.c -o test'': #include <stdlib.h> int main() { unsigned i; for (i=0; i < 30000000; ++i) free(malloc(2048)); return 0; } 2) Do some profiling: $ opcontrol --separate=library --no-vmlinux --setup --event=CPU_CLK_UNHALTED:100000 --start --image=/tmp/test $ /tmp/test $ opcontrol --shutdown 3) opreport output: CPU: Core 2, speed 1600 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 CPU_CLK_UNHALT...| samples| %| ------------------ 49275 100.000 test CPU_CLK_UNHALT...| samples| %| ------------------ 46516 94.4008 libc-2.7.so 2757 5.5951 test 2 0.0041 ld-2.7.so 4) opreport --xml output snippet, the total count is different from the output given in the ASCII report above: [...] <setup> <eventsetup id="0" eventname="CPU_CLK_UNHALTED" unitmask="0" setupcount="100000"/> </setup> <binary name="/tmp/test"> <count> 142307</count> [...] 5) I noticed that commenting out line 640 in libpp/xml_utils.cpp seems to fix the problem. The branch ''m > 0'' is executed repeatedly, and some values are added over and over again to the total count giving the large value in the XML output. void binary_info:: add_module_symbol(string const & module, string const & app, · sym_iterator it) { · size_t m = nr_modules; · if (module == app) { · · // set begin symbol for binary if not set · · set_begin(it); · · if (m > 0) { · · · // close out current module · · · module_info & mod = my_modules[m-1]; · · · mod.set_end(it); · · · //add_to_summary(mod.get_summary()); // remove this · · } · · // no module, so add symbol count to binary count · · add_to_summary((*it)->sample.counts); · · return; · } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 |
From: SourceForge.net <no...@so...> - 2008-11-06 00:27:30
|
Bugs item #1982201, was opened at 2008-06-02 09:24 Message generated for change (Settings changed) made by maynardj You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: tommi (ttrantal) >Assigned to: Maynard Johnson (maynardj) Summary: opreport --xml total event count mismatch Initial Comment: Profiling with the --separate flag, opreport XML output can give incorrect total count. To reproduce: 1) Put this to ''/tmp/test.c'' and compile with ''gcc test.c -o test'': #include <stdlib.h> int main() { unsigned i; for (i=0; i < 30000000; ++i) free(malloc(2048)); return 0; } 2) Do some profiling: $ opcontrol --separate=library --no-vmlinux --setup --event=CPU_CLK_UNHALTED:100000 --start --image=/tmp/test $ /tmp/test $ opcontrol --shutdown 3) opreport output: CPU: Core 2, speed 1600 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 CPU_CLK_UNHALT...| samples| %| ------------------ 49275 100.000 test CPU_CLK_UNHALT...| samples| %| ------------------ 46516 94.4008 libc-2.7.so 2757 5.5951 test 2 0.0041 ld-2.7.so 4) opreport --xml output snippet, the total count is different from the output given in the ASCII report above: [...] <setup> <eventsetup id="0" eventname="CPU_CLK_UNHALTED" unitmask="0" setupcount="100000"/> </setup> <binary name="/tmp/test"> <count> 142307</count> [...] 5) I noticed that commenting out line 640 in libpp/xml_utils.cpp seems to fix the problem. The branch ''m > 0'' is executed repeatedly, and some values are added over and over again to the total count giving the large value in the XML output. void binary_info:: add_module_symbol(string const & module, string const & app, · sym_iterator it) { · size_t m = nr_modules; · if (module == app) { · · // set begin symbol for binary if not set · · set_begin(it); · · if (m > 0) { · · · // close out current module · · · module_info & mod = my_modules[m-1]; · · · mod.set_end(it); · · · //add_to_summary(mod.get_summary()); // remove this · · } · · // no module, so add symbol count to binary count · · add_to_summary((*it)->sample.counts); · · return; · } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 |
From: SourceForge.net <no...@so...> - 2009-03-27 14:06:03
|
Bugs item #1982201, was opened at 2008-06-02 09:24 Message generated for change (Comment added) made by maynardj You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: tommi (ttrantal) Assigned to: Maynard Johnson (maynardj) Summary: opreport --xml total event count mismatch Initial Comment: Profiling with the --separate flag, opreport XML output can give incorrect total count. To reproduce: 1) Put this to ''/tmp/test.c'' and compile with ''gcc test.c -o test'': #include <stdlib.h> int main() { unsigned i; for (i=0; i < 30000000; ++i) free(malloc(2048)); return 0; } 2) Do some profiling: $ opcontrol --separate=library --no-vmlinux --setup --event=CPU_CLK_UNHALTED:100000 --start --image=/tmp/test $ /tmp/test $ opcontrol --shutdown 3) opreport output: CPU: Core 2, speed 1600 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 CPU_CLK_UNHALT...| samples| %| ------------------ 49275 100.000 test CPU_CLK_UNHALT...| samples| %| ------------------ 46516 94.4008 libc-2.7.so 2757 5.5951 test 2 0.0041 ld-2.7.so 4) opreport --xml output snippet, the total count is different from the output given in the ASCII report above: [...] <setup> <eventsetup id="0" eventname="CPU_CLK_UNHALTED" unitmask="0" setupcount="100000"/> </setup> <binary name="/tmp/test"> <count> 142307</count> [...] 5) I noticed that commenting out line 640 in libpp/xml_utils.cpp seems to fix the problem. The branch ''m > 0'' is executed repeatedly, and some values are added over and over again to the total count giving the large value in the XML output. void binary_info:: add_module_symbol(string const & module, string const & app, · sym_iterator it) { · size_t m = nr_modules; · if (module == app) { · · // set begin symbol for binary if not set · · set_begin(it); · · if (m > 0) { · · · // close out current module · · · module_info & mod = my_modules[m-1]; · · · mod.set_end(it); · · · //add_to_summary(mod.get_summary()); // remove this · · } · · // no module, so add symbol count to binary count · · add_to_summary((*it)->sample.counts); · · return; · } ---------------------------------------------------------------------- >Comment By: Maynard Johnson (maynardj) Date: 2009-03-27 09:05 Message: I posted a patch to the oprofile-list on March 10 to address this problem -- subject line: "[PATCH] Fix for 'make distcheck' failure: Make map_event_to_counter handle a non-native cpu_type" ttrantal, can you please test it? Thanks. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 |
From: SourceForge.net <no...@so...> - 2009-04-06 20:47:33
|
Bugs item #1982201, was opened at 2008-06-02 09:24 Message generated for change (Comment added) made by maynardj You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: tommi (ttrantal) Assigned to: Maynard Johnson (maynardj) Summary: opreport --xml total event count mismatch Initial Comment: Profiling with the --separate flag, opreport XML output can give incorrect total count. To reproduce: 1) Put this to ''/tmp/test.c'' and compile with ''gcc test.c -o test'': #include <stdlib.h> int main() { unsigned i; for (i=0; i < 30000000; ++i) free(malloc(2048)); return 0; } 2) Do some profiling: $ opcontrol --separate=library --no-vmlinux --setup --event=CPU_CLK_UNHALTED:100000 --start --image=/tmp/test $ /tmp/test $ opcontrol --shutdown 3) opreport output: CPU: Core 2, speed 1600 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 CPU_CLK_UNHALT...| samples| %| ------------------ 49275 100.000 test CPU_CLK_UNHALT...| samples| %| ------------------ 46516 94.4008 libc-2.7.so 2757 5.5951 test 2 0.0041 ld-2.7.so 4) opreport --xml output snippet, the total count is different from the output given in the ASCII report above: [...] <setup> <eventsetup id="0" eventname="CPU_CLK_UNHALTED" unitmask="0" setupcount="100000"/> </setup> <binary name="/tmp/test"> <count> 142307</count> [...] 5) I noticed that commenting out line 640 in libpp/xml_utils.cpp seems to fix the problem. The branch ''m > 0'' is executed repeatedly, and some values are added over and over again to the total count giving the large value in the XML output. void binary_info:: add_module_symbol(string const & module, string const & app, · sym_iterator it) { · size_t m = nr_modules; · if (module == app) { · · // set begin symbol for binary if not set · · set_begin(it); · · if (m > 0) { · · · // close out current module · · · module_info & mod = my_modules[m-1]; · · · mod.set_end(it); · · · //add_to_summary(mod.get_summary()); // remove this · · } · · // no module, so add symbol count to binary count · · add_to_summary((*it)->sample.counts); · · return; · } ---------------------------------------------------------------------- >Comment By: Maynard Johnson (maynardj) Date: 2009-04-06 15:47 Message: ttrantal, Sorry, my previous comment in this but was misplaced; that comment was meant for another bug tracker. The correct information is that I posted a patch to the oprofile-list on March 23 to address this xml output bug. The posting has a subject line of "[PATCH] Fix binary count total in XML output when using --separate=lib". Could you please test the patch and give feedback on whether it fixes this bug? Thanks. ---------------------------------------------------------------------- Comment By: Maynard Johnson (maynardj) Date: 2009-03-27 09:05 Message: I posted a patch to the oprofile-list on March 10 to address this problem -- subject line: "[PATCH] Fix for 'make distcheck' failure: Make map_event_to_counter handle a non-native cpu_type" ttrantal, can you please test it? Thanks. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 |
From: SourceForge.net <no...@so...> - 2009-04-15 19:14:17
|
Bugs item #1982201, was opened at 2008-06-02 09:24 Message generated for change (Comment added) made by maynardj You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open >Resolution: Fixed Priority: 5 Private: No Submitted By: tommi (ttrantal) Assigned to: Maynard Johnson (maynardj) Summary: opreport --xml total event count mismatch Initial Comment: Profiling with the --separate flag, opreport XML output can give incorrect total count. To reproduce: 1) Put this to ''/tmp/test.c'' and compile with ''gcc test.c -o test'': #include <stdlib.h> int main() { unsigned i; for (i=0; i < 30000000; ++i) free(malloc(2048)); return 0; } 2) Do some profiling: $ opcontrol --separate=library --no-vmlinux --setup --event=CPU_CLK_UNHALTED:100000 --start --image=/tmp/test $ /tmp/test $ opcontrol --shutdown 3) opreport output: CPU: Core 2, speed 1600 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 CPU_CLK_UNHALT...| samples| %| ------------------ 49275 100.000 test CPU_CLK_UNHALT...| samples| %| ------------------ 46516 94.4008 libc-2.7.so 2757 5.5951 test 2 0.0041 ld-2.7.so 4) opreport --xml output snippet, the total count is different from the output given in the ASCII report above: [...] <setup> <eventsetup id="0" eventname="CPU_CLK_UNHALTED" unitmask="0" setupcount="100000"/> </setup> <binary name="/tmp/test"> <count> 142307</count> [...] 5) I noticed that commenting out line 640 in libpp/xml_utils.cpp seems to fix the problem. The branch ''m > 0'' is executed repeatedly, and some values are added over and over again to the total count giving the large value in the XML output. void binary_info:: add_module_symbol(string const & module, string const & app, · sym_iterator it) { · size_t m = nr_modules; · if (module == app) { · · // set begin symbol for binary if not set · · set_begin(it); · · if (m > 0) { · · · // close out current module · · · module_info & mod = my_modules[m-1]; · · · mod.set_end(it); · · · //add_to_summary(mod.get_summary()); // remove this · · } · · // no module, so add symbol count to binary count · · add_to_summary((*it)->sample.counts); · · return; · } ---------------------------------------------------------------------- >Comment By: Maynard Johnson (maynardj) Date: 2009-04-15 14:14 Message: The patch I posted on March 23 has been reviewed and committed to CVS. The bug submitter should test this fix, but my pleas to do so have gone unanswered. I'm changing the Resolution to "Fixed" until I find out otherwise. ---------------------------------------------------------------------- Comment By: Maynard Johnson (maynardj) Date: 2009-04-06 15:47 Message: ttrantal, Sorry, my previous comment in this but was misplaced; that comment was meant for another bug tracker. The correct information is that I posted a patch to the oprofile-list on March 23 to address this xml output bug. The posting has a subject line of "[PATCH] Fix binary count total in XML output when using --separate=lib". Could you please test the patch and give feedback on whether it fixes this bug? Thanks. ---------------------------------------------------------------------- Comment By: Maynard Johnson (maynardj) Date: 2009-03-27 09:05 Message: I posted a patch to the oprofile-list on March 10 to address this problem -- subject line: "[PATCH] Fix for 'make distcheck' failure: Make map_event_to_counter handle a non-native cpu_type" ttrantal, can you please test it? Thanks. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 |
From: SourceForge.net <no...@so...> - 2009-07-31 20:11:13
|
Bugs item #1982201, was opened at 2008-06-02 09:24 Message generated for change (Settings changed) made by maynardj You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Resolution: Fixed Priority: 5 Private: No Submitted By: Tommi Rantala (ttrantal) Assigned to: Maynard Johnson (maynardj) Summary: opreport --xml total event count mismatch Initial Comment: Profiling with the --separate flag, opreport XML output can give incorrect total count. To reproduce: 1) Put this to ''/tmp/test.c'' and compile with ''gcc test.c -o test'': #include <stdlib.h> int main() { unsigned i; for (i=0; i < 30000000; ++i) free(malloc(2048)); return 0; } 2) Do some profiling: $ opcontrol --separate=library --no-vmlinux --setup --event=CPU_CLK_UNHALTED:100000 --start --image=/tmp/test $ /tmp/test $ opcontrol --shutdown 3) opreport output: CPU: Core 2, speed 1600 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 CPU_CLK_UNHALT...| samples| %| ------------------ 49275 100.000 test CPU_CLK_UNHALT...| samples| %| ------------------ 46516 94.4008 libc-2.7.so 2757 5.5951 test 2 0.0041 ld-2.7.so 4) opreport --xml output snippet, the total count is different from the output given in the ASCII report above: [...] <setup> <eventsetup id="0" eventname="CPU_CLK_UNHALTED" unitmask="0" setupcount="100000"/> </setup> <binary name="/tmp/test"> <count> 142307</count> [...] 5) I noticed that commenting out line 640 in libpp/xml_utils.cpp seems to fix the problem. The branch ''m > 0'' is executed repeatedly, and some values are added over and over again to the total count giving the large value in the XML output. void binary_info:: add_module_symbol(string const & module, string const & app, · sym_iterator it) { · size_t m = nr_modules; · if (module == app) { · · // set begin symbol for binary if not set · · set_begin(it); · · if (m > 0) { · · · // close out current module · · · module_info & mod = my_modules[m-1]; · · · mod.set_end(it); · · · //add_to_summary(mod.get_summary()); // remove this · · } · · // no module, so add symbol count to binary count · · add_to_summary((*it)->sample.counts); · · return; · } ---------------------------------------------------------------------- Comment By: Maynard Johnson (maynardj) Date: 2009-04-15 14:14 Message: The patch I posted on March 23 has been reviewed and committed to CVS. The bug submitter should test this fix, but my pleas to do so have gone unanswered. I'm changing the Resolution to "Fixed" until I find out otherwise. ---------------------------------------------------------------------- Comment By: Maynard Johnson (maynardj) Date: 2009-04-06 15:47 Message: ttrantal, Sorry, my previous comment in this but was misplaced; that comment was meant for another bug tracker. The correct information is that I posted a patch to the oprofile-list on March 23 to address this xml output bug. The posting has a subject line of "[PATCH] Fix binary count total in XML output when using --separate=lib". Could you please test the patch and give feedback on whether it fixes this bug? Thanks. ---------------------------------------------------------------------- Comment By: Maynard Johnson (maynardj) Date: 2009-03-27 09:05 Message: I posted a patch to the oprofile-list on March 10 to address this problem -- subject line: "[PATCH] Fix for 'make distcheck' failure: Make map_event_to_counter handle a non-native cpu_type" ttrantal, can you please test it? Thanks. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=1982201&group_id=16191 |