#include <linux/completion.h>
#include <linux/slab.h>
-/*
- * Disk stats
- */
-struct disk_stat dkstat;
-
/*
* For the allocated request tables
*/
major = rq->rq_disk->major;
index = rq->rq_disk->first_minor >> rq->rq_disk->minor_shift;
-
- if ((index >= DK_MAX_DISK) || (major >= DK_MAX_MAJOR))
- return;
-
- dkstat.drive[major][index] += new_io;
- if (rw == READ) {
- dkstat.drive_rio[major][index] += new_io;
- dkstat.drive_rblk[major][index] += nr_sectors;
- } else if (rw == WRITE) {
- dkstat.drive_wio[major][index] += new_io;
- dkstat.drive_wblk[major][index] += nr_sectors;
- } else
- printk(KERN_ERR "drive_stat_acct: cmd not R/W?\n");
}
/*
int major, disk, total;
total = 0;
+#ifdef 0
+ /*
+ * this section will no longer work in 2.5, as we no longer
+ * have either kstat.dk_drive nor DK_MAX_*. It can probably
+ * be rewritten to use the per-disk statistics now kept in the
+ * gendisk, but since I have no HP machines to test it on, I'm
+ * not really up to that. ricklind@us.ibm.com 11/7/02
+ */
for (major = 0; major < DK_MAX_MAJOR; major++) {
for (disk = 0; disk < DK_MAX_DISK; disk++)
total += dkstat.drive[major][disk];
} else
led_diskio_counter += CALC_ADD(total, diskio_max, addvalue);
}
+#endif
diskio_total_last += total;
}
extern unsigned long total_forks;
unsigned long jif = jiffies;
unsigned int sum = 0, user = 0, nice = 0, system = 0, idle = 0, iowait = 0;
- int major, disk;
for (i = 0 ; i < NR_CPUS; i++) {
int j;
len += sprintf(page + len, " %u", kstat_irqs(i));
#endif
- len += sprintf(page + len, "\ndisk_io: ");
-
- for (major = 0; major < DK_MAX_MAJOR; major++) {
- for (disk = 0; disk < DK_MAX_DISK; disk++) {
- int active = dkstat.drive[major][disk] +
- dkstat.drive_rblk[major][disk] +
- dkstat.drive_wblk[major][disk];
- if (active)
- len += sprintf(page + len,
- "(%u,%u):(%u,%u,%u,%u,%u) ",
- major, disk,
- dkstat.drive[major][disk],
- dkstat.drive_rio[major][disk],
- dkstat.drive_rblk[major][disk],
- dkstat.drive_wio[major][disk],
- dkstat.drive_wblk[major][disk]
- );
- }
- }
-
len += sprintf(page + len,
"\nctxt %lu\n"
"btime %lu\n"
#include <asm/scatterlist.h>
-/*
- * Disk stats ...
- */
-
-#define DK_MAX_MAJOR 16
-#define DK_MAX_DISK 16
-
-struct disk_stat {
- unsigned int drive[DK_MAX_MAJOR][DK_MAX_DISK];
- unsigned int drive_rio[DK_MAX_MAJOR][DK_MAX_DISK];
- unsigned int drive_wio[DK_MAX_MAJOR][DK_MAX_DISK];
- unsigned int drive_rblk[DK_MAX_MAJOR][DK_MAX_DISK];
- unsigned int drive_wblk[DK_MAX_MAJOR][DK_MAX_DISK];
-};
-extern struct disk_stat dkstat;
-
struct request_queue;
typedef struct request_queue request_queue_t;
struct elevator_s;