]> Zhao Yanbai Git Server - minix.git/commitdiff
Changed debug dumps of kernel process table (F1)
authorJorrit Herder <jnherder@minix3.org>
Thu, 30 Jun 2005 15:55:43 +0000 (15:55 +0000)
committerJorrit Herder <jnherder@minix3.org>
Thu, 30 Jun 2005 15:55:43 +0000 (15:55 +0000)
servers/is/dmp.c
servers/is/dmp_kernel.c

index ddb7c5c4e5f4145fbe75f0c92d9c383fba2f57f8..78d596968f979bed04fdfec9b2a8e09f6f54681d 100644 (file)
@@ -41,6 +41,20 @@ PUBLIC int do_fkey_pressed(message *m)
   if (pressed(F11))    timing_dmp();
   if (pressed(F12))    sched_dmp();
 
+  if (pressed(F9)) { 
+       printf("IS server going into infinite loop, press F9 to break\n");
+       printf("Five times any key is fine as well ...\n");
+       s = 0;
+       while(TRUE) {
+               if (OK == nb_receive(ANY, m)) {
+                       s ++;
+                       if (pressed(F9) || s >= 5 ) break;
+                       else printf("IS server in infinite loop, press F9 to break\n");
+               }
+       }
+       printf("IS server back to normal ... \n");
+  }
+
   /* Also check Shift F1-F6 keys. */
   if (pressed(SF1))    mproc_dmp();
 
index 6d859f5f9be16ee2460f17220880a300ba0aaaee..53d8b180d0328b5e560a493b108504bbcf303fa0 100644 (file)
@@ -189,14 +189,14 @@ PUBLIC void image_dmp()
       return;
   }
   printf("Image table dump showing all processes included in system image.\n");
-  printf("---name-- -nr- -q- ----pc- -stack- ------sendmask-------\n");
+  printf("---name-- -nr- -flags- -q- ----pc- -stack- ------sendmask-------\n");
   for (i=0; i<IMAGE_SIZE; i++) { 
       ip = &image[i];
       for (j=-NR_TASKS; j<INIT_PROC_NR+2; j++) 
          maskstr[j+NR_TASKS] = (isallowed(ip->sendmask, j)) ? '1' : '0';
       maskstr[j+NR_TASKS] = '\0';
-      printf("%8s %4d %3d %7lu %7lu   %s\n",
-          ip->proc_name, ip->proc_nr, ip->priority, 
+      printf("%8s %4d 0x%02x %3d %7lu %7lu   %s\n",
+          ip->proc_name, ip->proc_nr, ip->flags, ip->priority, 
           (long)ip->initial_pc, ip->stksize, maskstr); 
   }
   printf("\n");
@@ -369,7 +369,7 @@ PUBLIC void proctab_dmp()
       return;
   }
 
-  printf("\n--nr/name--- -q- -sc- -user- -sys- -text- -data- -size- -flags-\n");
+  printf("\n--nr-name-flags--pri-quant-#--sc- -user---sys- -text---data---size- -rts flags-\n");
 
   for (rp = oldrp; rp < END_PROC_ADDR; rp++) {
        if (isemptyp(rp)) continue;
@@ -381,21 +381,24 @@ PUBLIC void proctab_dmp()
        if (proc_nr(rp) == IDLE)        printf("(%2d) ", proc_nr(rp));  
        else if (proc_nr(rp) < 0)       printf("[%2d] ", proc_nr(rp));
        else                            printf(" %2d  ", proc_nr(rp));
-       printf("%-7.7s %2u   %02.2x %6lu%6lu%6uK%6uK%6uK %3x",
+       printf("%-7.7s %2x  %u/%u %02d/%02d %u  %02.2x %6lu%6lu %6uK%6uK%6uK %3x",
               rp->p_name,
-              rp->p_priority,
+              rp->p_flags,
+              rp->p_priority, rp->p_max_priority,
+              rp->p_sched_ticks, rp->p_quantum_size, 
+              rp->p_full_quantums, 
               (char) rp->p_call_mask,
               rp->p_user_time, rp->p_sys_time,
               click_to_round_k(text), click_to_round_k(data),
               click_to_round_k(size),
-              rp->p_flags);
-       if (rp->p_flags & RECEIVING) {
+              rp->p_rts_flags);
+       if (rp->p_rts_flags & RECEIVING) {
                printf(" %-7.7s", proc_name(rp->p_getfrom));
        } else
-       if (rp->p_flags & SENDING) {
+       if (rp->p_rts_flags & SENDING) {
                printf(" S:%-5.5s", proc_name(rp->p_sendto));
        } else
-       if (rp->p_flags == 0) {
+       if (rp->p_rts_flags == 0) {
                printf("        ");
        }
        printf("\n");