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? :)
|