[2.4] Miniscule block and kstat optimisation
Subsystems (2)
PATCH 1/1 [2.4] Miniscule block and kstat optimisation
Involving a (very) tiny speed-up in ll_rw_blk, by shifting the calculation to proc, and saving memory from a now unused array.
It's basically a very small subset of my diskio patch for /proc/stat in the 2.4 kernel.
Can someone pass this to Marcelo as there are no real maintainers for the files touched. I've tried submitting directly but without response.
Signature · 3 lines
Alan. "One must never be purposelessnessnesslessness."
drivers/block/ll_rw_blk.c +0 -1
@@ -701,7 +701,6 @@if ((index >=DK_MAX_DISK ) || (major >=DK_MAX_MAJOR ))return ; - kstat.dk_drive[major][index] += new_io;if (rw ==READ ) { kstat.dk_drive_rio[major][index] += new_io; kstat.dk_drive_rblk[major][index] += nr_sectors;
fs/proc/proc_misc.c +4 -2
@@ -357,14 +357,16 @@for (major =0 ; major <DK_MAX_MAJOR ; major++) {for (disk =0 ; disk <DK_MAX_DISK ; disk++) { -int active = kstat.dk_drive[major][disk] + +int active = kstat.dk_drive_rio[major][disk] + + kstat.dk_drive_wio[major][disk] + kstat.dk_drive_rblk[major][disk] + kstat.dk_drive_wblk[major][disk];if (active) proc_sprintf(page, &off, &len, "(%u,%u):(%u,%u,%u,%u,%u) ", major, disk, - kstat.dk_drive[major][disk], + kstat.dk_drive_rio[major][disk] + + kstat.dk_drive_wio[major][disk], kstat.dk_drive_rio[major][disk], kstat.dk_drive_rblk[major][disk], kstat.dk_drive_wio[major][disk],
include/linux/kernel_stat.h +0 -1
@@ -19,7 +19,6 @@unsigned int per_cpu_user[NR_CPUS ], per_cpu_nice[NR_CPUS ], per_cpu_system[NR_CPUS ]; -unsigned int dk_drive[DK_MAX_MAJOR ][DK_MAX_DISK ];unsigned int dk_drive_rio[DK_MAX_MAJOR ][DK_MAX_DISK ];unsigned int dk_drive_wio[DK_MAX_MAJOR ][DK_MAX_DISK ];unsigned int dk_drive_rblk[DK_MAX_MAJOR ][DK_MAX_DISK ];