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

Commit b7a2441f authored by Wu Fengguang's avatar Wu Fengguang
Browse files

writeback: remove writeback_control.more_io



When wbc.more_io was first introduced, it indicates whether there are
at least one superblock whose s_more_io contains more IO work. Now with
the per-bdi writeback, it can be replaced with a simple b_more_io test.

Acked-by: default avatarJan Kara <jack@suse.cz>
Acked-by: default avatarMel Gorman <mel@csn.ul.ie>
Reviewed-by: default avatarMinchan Kim <minchan.kim@gmail.com>
Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
parent 3efaf0fa
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -560,13 +560,9 @@ static int writeback_sb_inodes(struct super_block *sb, struct bdi_writeback *wb,
		iput(inode);
		cond_resched();
		spin_lock(&wb->list_lock);
		if (wbc->nr_to_write <= 0) {
			wbc->more_io = 1;
		if (wbc->nr_to_write <= 0)
			return 1;
	}
		if (!list_empty(&wb->b_more_io))
			wbc->more_io = 1;
	}
	/* b_io is empty */
	return 1;
}
@@ -708,7 +704,6 @@ static long wb_writeback(struct bdi_writeback *wb,
			wbc.older_than_this = &oldest_jif;
		}

		wbc.more_io = 0;
		wbc.nr_to_write = write_chunk;
		wbc.pages_skipped = 0;
		wbc.inodes_written = 0;
@@ -740,7 +735,7 @@ static long wb_writeback(struct bdi_writeback *wb,
		/*
		 * No more inodes for IO, bail
		 */
		if (!wbc.more_io)
		if (list_empty(&wb->b_more_io))
			break;
		/*
		 * Nothing written. Wait for some inode to
+0 −1
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ struct writeback_control {
	unsigned tagged_writepages:1;	/* tag-and-write to avoid livelock */
	unsigned for_reclaim:1;		/* Invoked from the page allocator */
	unsigned range_cyclic:1;	/* range_start is cyclic */
	unsigned more_io:1;		/* more io to be dispatched */
};

/*
+2 −4
Original line number Diff line number Diff line
@@ -404,7 +404,6 @@ TRACE_EVENT(ext4_da_writepages_result,
		__field(	int,	pages_written		)
		__field(	long,	pages_skipped		)
		__field(	int,	sync_mode		)
		__field(	char,	more_io			)	
		__field(       pgoff_t,	writeback_index		)
	),

@@ -415,16 +414,15 @@ TRACE_EVENT(ext4_da_writepages_result,
		__entry->pages_written	= pages_written;
		__entry->pages_skipped	= wbc->pages_skipped;
		__entry->sync_mode	= wbc->sync_mode;
		__entry->more_io	= wbc->more_io;
		__entry->writeback_index = inode->i_mapping->writeback_index;
	),

	TP_printk("dev %d,%d ino %lu ret %d pages_written %d pages_skipped %ld "
		  " more_io %d sync_mode %d writeback_index %lu",
		  "sync_mode %d writeback_index %lu",
		  MAJOR(__entry->dev), MINOR(__entry->dev),
		  (unsigned long) __entry->ino, __entry->ret,
		  __entry->pages_written, __entry->pages_skipped,
		  __entry->more_io, __entry->sync_mode,
		  __entry->sync_mode,
		  (unsigned long) __entry->writeback_index)
);

+1 −4
Original line number Diff line number Diff line
@@ -101,7 +101,6 @@ DECLARE_EVENT_CLASS(wbc_class,
		__field(int, for_background)
		__field(int, for_reclaim)
		__field(int, range_cyclic)
		__field(int, more_io)
		__field(unsigned long, older_than_this)
		__field(long, range_start)
		__field(long, range_end)
@@ -116,7 +115,6 @@ DECLARE_EVENT_CLASS(wbc_class,
		__entry->for_background	= wbc->for_background;
		__entry->for_reclaim	= wbc->for_reclaim;
		__entry->range_cyclic	= wbc->range_cyclic;
		__entry->more_io	= wbc->more_io;
		__entry->older_than_this = wbc->older_than_this ?
						*wbc->older_than_this : 0;
		__entry->range_start	= (long)wbc->range_start;
@@ -124,7 +122,7 @@ DECLARE_EVENT_CLASS(wbc_class,
	),

	TP_printk("bdi %s: towrt=%ld skip=%ld mode=%d kupd=%d "
		"bgrd=%d reclm=%d cyclic=%d more=%d older=0x%lx "
		"bgrd=%d reclm=%d cyclic=%d older=0x%lx "
		"start=0x%lx end=0x%lx",
		__entry->name,
		__entry->nr_to_write,
@@ -134,7 +132,6 @@ DECLARE_EVENT_CLASS(wbc_class,
		__entry->for_background,
		__entry->for_reclaim,
		__entry->range_cyclic,
		__entry->more_io,
		__entry->older_than_this,
		__entry->range_start,
		__entry->range_end)