xfs
[Top] [All Lists]

Re: Still module problems

To: "Peter T. Breuer" <ptb@xxxxxxxxxx>
Subject: Re: Still module problems
From: Chaitanya Tumuluri <chait@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 6 Mar 2001 16:10:57 -0500 (EST)
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <200103062347.f26Nl6T05798@xxxxxxxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
On Wed, 7 Mar 2001, Peter T. Breuer wrote:
> "GCS wrote:"
> I would appreciate it if the patch were less invasive. Has this been
> done?  Surely changing make_request's type is intrinsically a bad idea?
>
> I agree that the implementation is clever - setting the bh argument null
> signals the new make_request to use the remaining args, kiobuff and
> friends, instead, so only kiobuff-aware code will make use of it.  But
> in that case why not write a separate function?  The kernel has
> provisions for overwriting make_request _cleanly_.

Agreed. The current state of the code is a historical artifact of trying
to keep pace with the evolutions in ll_rw_block/__make_request() and
friends. Originally, we did have a separate make_kio_request() function.
The provision you mention came in later, at which point in time it was going 
to be a _lot_ more effort to provide for lvm/md type of remapping in the
make_kio_request() version. A quicker/easier fix was to modify the 
make_request() signature to handle kiobufs.

> And surely kiobuff + sector + count should be passed as a single
> struct?

Indeed. And that is in the works. Jens Axboe and Christoph Hellwig are fine 
tuning their new I/O container which can handle both sector-based (a la 
buffer-heads) and page-based (a la kiobufs) dma area info. So, as far
as the block-queueing layer is concerned it'll only have to deal with this
new I/O container. This _should_, in theory, obviate the need for a separate
buffer-head/kiobuf make_request() function altogether.

Perhaps they can provide more info....

> What are the issues with respect to buffer locking that I see vaguely
> referred to in the faq? I am running xfs atop raid1 atop a block

Could you be more specific (wrt. "vaguely referred to in the faq")?

> driver that talks to the net, and a local partition or logical volume. I
> was seeing lockups when the net driver ran against localhost (i.e. like
> a loopback device).

Hmmm....this may be a loopback device codepath issue. I'm not sure. Perhaps
someone else can comment on this..

Cheers,
-Chait.



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