Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait

Marcelo Tosatti
2001-02-06T20:56:13Z

On Tue, 6 Feb 2001, Ingo Molnar wrote:

>
> On Tue, 6 Feb 2001, Christoph Hellwig wrote:
>
> > The second is that bh's are two things:
> >
> > - a cacheing object
> > - an io buffer
> >
> > This is not really an clean appropeach, and I would really like to get
> > away from it.
>
> caching bmap() blocks was a recent addition around 2.3.20, and i suggested
> some time ago to cache pagecache blocks via explicit entries in struct
> page. That would be one solution - but it creates overhead.

Think about a given number of pages which are physically contiguous on
disk -- you dont need to cache the block number for each page, you just
need to cache the physical block number of the first page of the
"cluster".

SGI's pagebuf do that, and it would be great if we had something similar
in 2.5.

It allows us to have fast IO clustering.

> but there isnt anything wrong with having the bhs around to cache blocks -
> think of it as a 'cached and recycled IO buffer entry, with the block
> information cached'.

Usually we need to cache only block information (for clustering), and not
all the other stuff which buffer_head holds.

> frankly, my quick (and limited) hack to abuse bhs to cache blocks just
> cannot be a reason to replace bhs ...