xfs
[Top] [All Lists]

Re: Questions about pagebuf code

To: Craig Tierney <ctierney@xxxxxxxx>
Subject: Re: Questions about pagebuf code
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Sat, 1 May 2004 19:47:09 +0100
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <1083435856.2302.3.camel@xxxxxxxxxxxxxxxxxxxxx>; from ctierney@xxxxxxxx on Sat, May 01, 2004 at 12:24:16PM -0600
References: <1083435856.2302.3.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.2.5.1i
On Sat, May 01, 2004 at 12:24:16PM -0600, Craig Tierney wrote:
> 1) Are the versions of xfs in 2.4.26 and 2.6.x mostly the same
>    (except for the change in kernel interface)?  In particular
>    are there any differences in the pagebuf code?

there's a bunch of differences, mostly in the handling of the worker
threads and the I/O handling code.

> 2) Are all memory allocations controlled through xfs_buf?

No.

>    Not just the actual {v,k}mallocs (I grepped that to verify)
>    but any time a routine chooses to access a page, it is selected
>    through routines in xfs_buf?

Everything dealing with xfs_buf_t (= mostly metadata, + O_DIRECT data
I/O in 2.4) is handled by xfs_buf.

> 3) Does pagebuf_get_pages get called multiple times while
>    the filesystem is active, or only at initialization?

It's called once for each buffer allocated, which happens all the time.

> 4) Would there be any reason (except performance) not to change
>    MAX_SLAB_SIZE to a smaller values (like 0), to test the behavior
>    when only kmalloc is used to allocation memory?

vmalloc can't be done from inside a spinlock.  Now that you mention
it I think we should explicitly check for that in the kmem_alloc code
instead of relying KM_NOSLEEP requests beeing small enough all the time..

Counterquestion:  Why do you care? :)


<Prev in Thread] Current Thread [Next in Thread>