UPDATE: Disk performance

From: Gyula Szokoly <szgyula_at_tarkus.pha.jhu.edu>
Date: Wed, 02 Jun 1999 12:03:37 -0400 (EDT)

Hi,

  My original question was about monitoring disk performance on my
RAID array. I got many suggestions, but no luck so far. I was digging
through the source codes ('monitor' and many other utilities) and
it seems that the problem is that my kernel does not provide support
for it. As far as I can tell, all of the utilities are trying to
use the table(TBL_DKINFO,...) call. For some reason this does not
work. Nearly all of the utilities find the re* devices, but the
derived dk number is 0 (same as the 'fd' device on my system). Steping
through the 'dk' tables does NOT find the re* devices.
  At this point I can only conclude that either the kernel is broken
or I have a bad configuration. The setup is: Alphaserver 1000A 5/500,
Mylex DAC960 RAID controller (aka 3-channel PCI RAID card from Dec).
True64 Unix 4.0E, the corresponding firmware, correct EISA config, etc.
  Does anyone have a configuration like this? After the message I
enclose a short code that scans the dk tables. For me, 're' devices do not
show up.
  The relevant kernel config:

controller xcr0 at pci0 slot 11 vector xcrintr
device disk re0 at xcr0 drive 0
device disk re1 at xcr0 drive 1

Gyula

#include <sys/table.h>
#include <stdio.h>

main()
{
  struct tbl_dkinfo dkinfo;
  int ndisk;
  int i;

  if (table(TBL_DKINFO, 0, &dkinfo, 1, sizeof(dkinfo)) != 1)
  {
    printf("Disk I/O data is not available.\n");
    return(1);
  }

  ndisk = dkinfo.di_ndrive;
  printf("%d potential disks\n",ndisk);
 
  for(i = 0;i < ndisk;i++)
  {
    if (table(TBL_DKINFO, i, &dkinfo, 1, sizeof(dkinfo)) != 1)
    {
      printf("Disk I/O data is not available.\n");
      return(1);
    }
    printf("%d: %s %d\n",i,dkinfo.di_name,dkinfo.di_unit);
  }
}
Received on Wed Jun 02 1999 - 16:05:50 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:39 NZDT