Re: [Lsf] [RFC] writeback and cgroup

From: Peter Zijlstra
Date: Sat Apr 14 2012 - 08:15:55 EST


On Wed, 2012-04-04 at 14:23 -0500, Steve French wrote:
> Current use of bdi is a little hard to understand since
> there are 25+ fields in the structure.

Filesystems only need a small fraction of those.

In particular,

backing_dev_info::name -- string
backing_dev_info::ra_pages -- number of read-ahead-pages
backing_dev_info::capability -- see BDI_CAP_*

One should properly initialize/destroy the thing using:

bdi_init()/bdi_destroy()


Furthermore, it has hooks into the regular page-writeback stuff:

test_{set,clear}_page_writeback()/bdi_writeout_inc()
set_page_dirty()/account_page_dirtied()

but also allows filesystems to do custom stuff, see FUSE for example.

The only other bit is the pressure valve, aka.
{set,clear}_bdi_congested(). Which really is rather broken and of
dubious value.


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