PAPI  5.0.1.0
fake_mx_counters.c
Go to the documentation of this file.
00001 #include <stdio.h>
00002 
00003 /* This program fakes the output of the mx_counters util */
00004 /* for testing purposes */
00005 
00006 #define MAX_LABELS 101
00007 
00008 char labels[MAX_LABELS][100]={
00009 "            Lanai uptime (seconds)",
00010 "         Counters uptime (seconds)",
00011 "                 Bad CRC8 (Port 0)",
00012 "                Bad CRC32 (Port 0)",
00013 "         Unstripped route (Port 0)",
00014 "         pkt_desc_invalid (Port 0)",
00015 "          recv_pkt_errors (Port 0)",
00016 "            pkt_misrouted (Port 0)",
00017 "                  data_src_unknown",
00018 "                    data_bad_endpt",
00019 "                 data_endpt_closed",
00020 "                  data_bad_session",
00021 "                   push_bad_window",
00022 "                    push_duplicate",
00023 "                     push_obsolete",
00024 "                  push_race_driver",
00025 "        push_bad_send_handle_magic",
00026 "                push_bad_src_magic",
00027 "                     pull_obsolete",
00028 "              pull_notify_obsolete",
00029 "                  pull_race_driver",
00030 "                  pull_notify_race",
00031 "                      ack_bad_type",
00032 "                     ack_bad_magic",
00033 "                   ack_resend_race",
00034 "                          Late ack",
00035 "           ack_nack_frames_in_pipe",
00036 "                    nack_bad_endpt",
00037 "                 nack_endpt_closed",
00038 "                  nack_bad_session",
00039 "                  nack_bad_rdmawin",
00040 "                  nack_eventq_full",
00041 "                  send_bad_rdmawin",
00042 "                   connect_timeout",
00043 "               connect_src_unknown",
00044 "                   query_bad_magic",
00045 "                   query_timed_out",
00046 "                 query_src_unknown",
00047 "                Raw sends (Port 0)",
00048 "             Raw receives (Port 0)",
00049 "    Raw oversized packets (Port 0)",
00050 "                  raw_recv_overrun",
00051 "                      raw_disabled",
00052 "                      connect_send",
00053 "                      connect_recv",
00054 "                 ack_send (Port 0)",
00055 "                 ack_recv (Port 0)",
00056 "                push_send (Port 0)",
00057 "                push_recv (Port 0)",
00058 "               query_send (Port 0)",
00059 "               query_recv (Port 0)",
00060 "               reply_send (Port 0)",
00061 "               reply_recv (Port 0)",
00062 "            query_unknown (Port 0)",
00063 "            query_unknown (Port 0)",
00064 "           data_send_null (Port 0)",
00065 "          data_send_small (Port 0)",
00066 "         data_send_medium (Port 0)",
00067 "           data_send_rndv (Port 0)",
00068 "           data_send_pull (Port 0)",
00069 "           data_recv_null (Port 0)",
00070 "   data_recv_small_inline (Port 0)",
00071 "     data_recv_small_copy (Port 0)",
00072 "         data_recv_medium (Port 0)",
00073 "           data_recv_rndv (Port 0)",
00074 "           data_recv_pull (Port 0)",
00075 "   ether_send_unicast_cnt (Port 0)",
00076 " ether_send_multicast_cnt (Port 0)",
00077 "     ether_recv_small_cnt (Port 0)",
00078 "       ether_recv_big_cnt (Port 0)",
00079 "                     ether_overrun",
00080 "                   ether_oversized",
00081 "              data_recv_no_credits",
00082 "                    Packets resent",
00083 "  Packets dropped (data send side)",
00084 "              Mapper routes update",
00085 "         Route dispersion (Port 0)",
00086 "               out_of_send_handles",
00087 "               out_of_pull_handles",
00088 "               out_of_push_handles",
00089 "                  medium_cont_race",
00090 "                  cmd_type_unknown",
00091 "                 ureq_type_unknown",
00092 "                Interrupts overrun",
00093 "         Waiting for interrupt DMA",
00094 "         Waiting for interrupt Ack",
00095 "       Waiting for interrupt Timer",
00096 "                   Slabs recycling",
00097 "                    Slabs pressure",
00098 "                  Slabs starvation",
00099 "               out_of_rdma handles",
00100 "                       eventq_full",
00101 "              buffer_drop (Port 0)",
00102 "              memory_drop (Port 0)",
00103 "    Hardware flow control (Port 0)",
00104 "(Devel) Simulated packets lost (Port 0)",
00105 "   (Logging) Logging frames dumped",
00106 "                   Wake interrupts",
00107 "               Averted wakeup race",
00108 "                 Dma metadata race",
00109 "                               foo",
00110 };
00111 
00112 int main(int argc, char **argv) {
00113   
00114   int i,multiplier=1;
00115 
00116   FILE *fff;
00117 
00118   fff=fopen("state","r");
00119   if (fff!=NULL) {
00120     fscanf(fff,"%d",&multiplier);
00121     fclose(fff);
00122   }
00123 
00124   fff=fopen("state","w");
00125   if (fff!=NULL) {
00126     fprintf(fff,"%d\n",multiplier+1);
00127     fclose(fff);
00128   }
00129 
00130   printf("1 ports\n");
00131   for(i=0;i<MAX_LABELS;i++) {
00132     printf("%s:%12d (0x%x)\n",labels[i],i*multiplier,i*multiplier);
00133   }
00134   return 0;
00135 }
00136 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines