[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] no cycles for certain xentrace entries



Thanks for the patch; I'll take a look and apply what I can. What version of gcc / what flags are you using?

 -George

On 30/09/10 15:18, Olaf Hering wrote:
On Thu, Sep 30, George Dunlap wrote:

Have you tried using xenalyze to analyze your trace?

http://xenbits.xensource.com/ext/xenalyze.hg

I will try it, thanks.

To build it, these changes are needed:


xenalyze.c:8038:âerror:âignoringâreturnâvalueâofâ'pipe',âdeclaredâwithâattributeâwarn_unused_result
xenalyze.c:7731: error: 'toplevel' may be used uninitialized in this function
xenalyze.c:6168: error: 'e.pte' may be used uninitialized in this function
xenalyze.c:6168: error: 'e.addr' may be used uninitialized in this function
xenalyze.c:6168: error: 'e.eip' may be used uninitialized in this function
xenalyze.c:7360: error: 'first_tsc' may be used uninitialized in this function
xenalyze.c:6611: error: 'sevt.new_runstate' may be used uninitialized in this 
function
xenalyze.c:6611: error: 'sevt.old_runstate' may be used uninitialized in this 
function
xenalyze.c:6591: error: 'type' may be used uninitialized in this function

---
  xenalyze.c |   10 ++++++----
  1 file changed, 6 insertions(+), 4 deletions(-)

--- xenalyze.hg/xenalyze.c
+++ xenalyze.hg/xenalyze.c
@@ -6167,6 +6167,7 @@ void pv_ptwr_emulation_process(struct re
          unsigned long long pte, addr, eip;
      } e;

+    memset(&e, 0x5a, sizeof(e));
      switch ( pevt.minor ) {
      case PV_PTWR_EMULATION_PAE:
          if ( pevt.x64 )
@@ -6622,6 +6623,7 @@ void sched_runstate_process(struct pcpu_
          sevt.old_runstate = _sevt.old_runstate;
          break;
      case 2:
+    default:
          type = CONTINUE;
          sevt.new_runstate = sevt.old_runstate = RUNSTATE_RUNNING;
          break;
@@ -7366,8 +7368,7 @@ void process_lost_records(struct pcpu_in
                  ri->extra_words);
          dump_unexpected_and_exit(ri);
      }
-    else
-        first_tsc = r->first_tsc;
+    first_tsc = r->first_tsc;

      if(opt.dump_cooked || opt.dump_all)
      {
@@ -7728,7 +7729,7 @@ void create_dump_header(struct record_in

  int find_toplevel_event(struct record_info *ri)
  {
-    int toplevel, i, count;
+    int toplevel = 0, i, count;

      for(i=0, count=0; i<TOPLEVEL_MAX; i++)
          if(ri->evt.main&  (1UL<<i))
@@ -8035,7 +8036,8 @@ void progress_child_exec(void) {
  void progress_init(void) {
      int pid;

-    pipe(G.progress.pipe);
+    if (pipe(G.progress.pipe)<  0)
+           perror("pipe");

      if(!(pid = fork())) {
          progress_child_exec();


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.