]> Zhao Yanbai Git Server - minix.git/commitdiff
profiling related cleanup
authorBen Gras <ben@minix3.org>
Sat, 16 Jun 2012 16:38:31 +0000 (16:38 +0000)
committerBen Gras <ben@minix3.org>
Sun, 15 Jul 2012 19:56:55 +0000 (21:56 +0200)
. do not declare any data in <minix/profile.h>
. addr check no longer necessary

include/minix/profile.h
kernel/system/do_cprofile.c
servers/pm/profile.c

index c84efc182da1ff8dc8b2903d166b2ba27d42d506..aa94dd567946e0e45182936edfa32cae73d4d3ea 100644 (file)
@@ -21,7 +21,7 @@ struct sprof_info_s {
   int idle_samples;
   int system_samples;
   int user_samples;
-} sprof_info_inst;
+};
 
 /* What a profiling sample looks like (used for sizeof()). */
 struct sprof_sample {
@@ -80,7 +80,7 @@ void profile_register(void *ctl_ptr, void *tbl_ptr);
 struct cprof_info_s {
   int mem_used;
   int err;
-} cprof_info_inst;
+};
 
 /* Data structures for control structure and profiling data table in the
  * in the profiled processes. 
@@ -89,14 +89,14 @@ struct cprof_ctl_s {
   int reset;                           /* kernel sets to have table reset */
   int slots_used;                      /* proc writes nr slots used in table */
   int err;                             /* proc writes errors that occurred */
-} cprof_ctl_inst;
+};
 
 struct cprof_tbl_s {
   struct cprof_tbl_s *next;            /* next in chain */
   char cpath[CPROF_CPATH_MAX_LEN];     /* string with call path */
   int calls;                           /* nr of executions of path */
   u64_t cycles;                                /* execution time of path, in cycles */
-} cprof_tbl_inst;
+};
 
 int sprofile(int action, int size, int freq, int type, void *ctl_ptr,
        void *mem_ptr);
index c661a871e82b5a1f4901888e463ed62ea20b8b92..b9f01d9f3bd365cb87b874e9669a18e9417c8c48 100644 (file)
@@ -18,6 +18,9 @@
 
 #if CPROFILE
 
+static struct cprof_ctl_s cprof_ctl_inst;
+static struct cprof_tbl_s cprof_tbl_inst;
+
 /*===========================================================================*
  *                             do_cprofile                                  *
  *===========================================================================*/
index 0f0bc04ce6bcf136789e18b03c5230c4ac1a4fc1..27ff0c260c3b72a6a7565832554fd7c6b6e18997 100644 (file)
 #include "mproc.h"
 #include "param.h"
 
-#if SPROFILE || CPROFILE
-static int check_addrs(int info_size);
-#endif
-
 /*===========================================================================*
  *                             do_sprofile                                  *
  *===========================================================================*/
@@ -34,9 +30,6 @@ int do_sprofile(void)
   switch(m_in.PROF_ACTION) {
 
   case PROF_START:
-       if ((r = check_addrs(sizeof(sprof_info_inst)))) /* check pointers */
-               return r;
-
        return sys_sprof(PROF_START, m_in.PROF_MEM_SIZE, m_in.PROF_FREQ,
                        m_in.PROF_INTR_TYPE,
                        who_e, m_in.PROF_CTL_PTR, m_in.PROF_MEM_PTR);
@@ -66,9 +59,6 @@ int do_cprofile(void)
   switch(m_in.PROF_ACTION) {
 
   case PROF_GET:
-       if (r = check_addrs(sizeof(cprof_info_inst))) /* check user pointers */
-               return r;
-
        return sys_cprof(PROF_GET, m_in.PROF_MEM_SIZE, who_e,
                m_in.PROF_CTL_PTR, m_in.PROF_MEM_PTR);
 
@@ -84,32 +74,3 @@ int do_cprofile(void)
 #endif
 }
 
-
-#if SPROFILE || CPROFILE
-
-/*===========================================================================*
- *                             check_addrs                                  *
- *===========================================================================*/
-static int check_addrs(info_size)
-int info_size;
-{
-  int r;
-  phys_bytes p;
-
-  /* Check if supplied pointers point into user process. */
-  if ((r = sys_umap_remote(who_e, SELF, VM_D, (vir_bytes) m_in.PROF_CTL_PTR,
-                                                1, &p)) != OK) {
-       printf("PM: PROFILE: umap failed for process %d\n", who_e);
-       return r;                                    
-  }  
-
-  if ((r =sys_umap_remote(who_e, SELF, VM_D, (vir_bytes) m_in.PROF_MEM_PTR,
-                                        1, &p)) != OK) {
-       printf("PM: PROFILE: umap failed for process %d\n", who_e);
-       return r;                                    
-  }  
-  return 0;
-}
-
-#endif
-