Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20e5c81f authored by Kenneth W Chen's avatar Kenneth W Chen Committed by Jens Axboe
Browse files

[patch] remove gendisk->stamp_idle field



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: default avatarKen Chen <kenneth.w.chen@intel.com>
Signed-off-by: default avatarJens Axboe <axboe@suse.de>
parent 741b2252
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -2433,13 +2433,12 @@ void disk_round_stats(struct gendisk *disk)
{
	unsigned long now = jiffies;

	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;
}

/*
+1 −1
Original line number Diff line number Diff line
@@ -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);

+1 −1
Original line number Diff line number Diff line
@@ -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;