Re: 2.4.19pre3aa2

Jari Ruusu
2002-03-20T18:17:37Z

[-- Attachment #1: Type: text/plain, Size: 1529 bytes --]

Jens Axboe wrote:
> On Wed, Mar 20 2002, Jari Ruusu wrote:
> > And, about sleeping in loop_make_request(), I have also changed the code in
> > such way that it defaults to code that may sleep in loop_make_request(). But
> > non-sleeping code is still present (but not currently used), like this:
> >
> > #if 1
> > may-sleep-in-loop_make_request-code-here
> > #else
> > non-sleeping-loop_make_request-code-here
> > #endif
>
> The solution I prefer is to have loop_make_request() block when we run
> out of pre-allocated buffers, ie similar to "normal" block drivers when
> they run out of request slots. This provides a nice throttling mechanism
> and makes sure that loop doesn't eat into the memory polls too heavily.
>
> In any way, do it one way and remove the other.

OK, non-sleeping code is gone.

> > 2.4.19-pre3 loop code wanders to loop_get_buffer() and transfer function in
> > LO_FLAGS_BH_REMAP optimization case.
>
> So the 'new' version does exactly the same, but doesn't do it in
> loop_get_buffer().

I found a new bug in stock loop driver: LO_FLAGS_BH_REMAP optimization is
never enabled because init hook for type 0 transfer is never executed. That
bug is not dangerous, but is not fixed by patch that I posted here
yesterday... so here is new one that fixes it.

Herbert Valerio Riedel wrote:
> ...well, you still haven't honored my modest wish of the innocent 2
> #define's and 1 typedef...

Your cryptoapi specific defines and typedef are now included.

Regards,
Jari Ruusu <jari.ruusu@pp.inet.fi>

[-- Attachment #2: loop-fixes-2.4.19-pre3-v2.diff.gz --]
[-- Type: application/x-gzip, Size: 7349 bytes --]