Re: [PATCH 8/8] vm: Add an tuning knob for vm.max_writeback_mb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 30 2009, Jan Kara wrote:
> > +void bdi_writeback_wait(struct backing_dev_info *bdi, long nr_pages)
> > +{
> > +	struct dirty_throttle_task tt = {
> > +		.nr_pages = nr_pages,
> > +		.complete = COMPLETION_INITIALIZER_ONSTACK(tt.complete),
> > +	};
> > +	struct wb_writeback_args args = {
> > +		.sync_mode	= WB_SYNC_NONE,
> > +		.nr_pages	= LONG_MAX,
> > +		.range_cyclic	= 1,
> > +		.for_background	= 1,
> > +	};
> > +	struct bdi_work work;
> > +
> > +	bdi_work_init(&work, &args);
> > +	work.state |= WS_ONSTACK;
> > +
> > +	/*
> > +	 * make sure we will be waken up by someone
> > +	 */
> > +	bdi_queue_work(bdi, &work);
>   This is wrong, you shouldn't submit the work like this because you'll
> have to wait for completion (wb_clear_pending below is just bogus). You
> should rather do bdi_start_writeback(bdi, NULL, 0).

Indeed, the above will die a horrible death fairly soon. But we can add
some "barrier" like synchronization, if you just wish to wait for
previously submitted work to have been completed.


-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux