public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] remove gendisk->stamp_idle field
@ 2005-10-13 19:13 Chen, Kenneth W
  2005-10-13 19:16 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Chen, Kenneth W @ 2005-10-13 19:13 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jens Axboe

struct gendisk has these two fields: stamp, stamp_idle.  Update to
stamp_idle is always in sync with stamp and they are always the same.
Therefore, it does not add any value in having two fields tracking
same timestamp.  Suggest to remove it.

Also, we should only update gendisk stats with non-zero value.
Advantage is that we don't have to needlessly calculate memory address,
and then add zero to the content.


Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>

--- ./drivers/block/ll_rw_blk.c.orig	2005-10-13 11:47:02.265928213 -0700
+++ ./drivers/block/ll_rw_blk.c	2005-10-13 11:50:22.289363262 -0700
@@ -2433,13 +2433,12 @@ void disk_round_stats(struct gendisk *di
 {
 	unsigned long now = jiffies;
 
-	__disk_stat_add(disk, time_in_queue,
-			disk->in_flight * (now - disk->stamp));
+	if (disk->in_flight) {
+		__disk_stat_add(disk, time_in_queue,
+				disk->in_flight * (now - disk->stamp));
+		__disk_stat_add(disk, io_ticks, (now - disk->stamp));
+	}
 	disk->stamp = now;
-
-	if (disk->in_flight)
-		__disk_stat_add(disk, io_ticks, (now - disk->stamp_idle));
-	disk->stamp_idle = now;
 }
 
 /*
--- ./fs/partitions/check.c.orig	2005-10-13 11:52:09.186822890 -0700
+++ ./fs/partitions/check.c	2005-10-13 11:52:41.332330309 -0700
@@ -430,7 +430,7 @@ void del_gendisk(struct gendisk *disk)
 	disk->flags &= ~GENHD_FL_UP;
 	unlink_gendisk(disk);
 	disk_stat_set_all(disk, 0);
-	disk->stamp = disk->stamp_idle = 0;
+	disk->stamp = 0;
 
 	devfs_remove_disk(disk);
 
--- ./include/linux/genhd.h.orig	2005-10-13 11:51:24.137995317 -0700
+++ ./include/linux/genhd.h	2005-10-13 11:51:43.293268520 -0700
@@ -119,7 +119,7 @@ struct gendisk {
 	int policy;
 
 	atomic_t sync_io;		/* RAID */
-	unsigned long stamp, stamp_idle;
+	unsigned long stamp;
 	int in_flight;
 #ifdef	CONFIG_SMP
 	struct disk_stats *dkstats;


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [patch] remove gendisk->stamp_idle field
  2005-10-13 19:13 [patch] remove gendisk->stamp_idle field Chen, Kenneth W
@ 2005-10-13 19:16 ` Jens Axboe
  0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2005-10-13 19:16 UTC (permalink / raw)
  To: Chen, Kenneth W; +Cc: linux-kernel

On Thu, Oct 13 2005, Chen, Kenneth W wrote:
> struct gendisk has these two fields: stamp, stamp_idle.  Update to
> stamp_idle is always in sync with stamp and they are always the same.
> Therefore, it does not add any value in having two fields tracking
> same timestamp.  Suggest to remove it.
> 
> Also, we should only update gendisk stats with non-zero value.
> Advantage is that we don't have to needlessly calculate memory address,
> and then add zero to the content.

Acked-by: Jens Axboe <axboe@suse.de>

Added to the upstream Linus branch of the block git tree.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-10-13 19:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-13 19:13 [patch] remove gendisk->stamp_idle field Chen, Kenneth W
2005-10-13 19:16 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox