Re: Linux-2.4.5

Andrea Arcangeli
2001-05-26T15:39:35Z

On Sat, May 26, 2001 at 08:23:00AM -0700, Linus Torvalds wrote:
>
> On Sat, 26 May 2001, Andrea Arcangeli wrote:
> >
> > I don't see where you fixed the deadlock in create_buffers, if you did
> > please show me which line of code is supposed to do that, I show you
> > below which lines of code in my patch should fix the wait_event deadlock
> > in create_buffers:
>
> Andrea, look at the page_alloc() path, and the "don't loop forever if
> __GFP_IO isn't set and we're not making progress". That looks entirely
> sane.

yes, I was only talking about create_buffers, not __alloc_pages. That
patch can certainly address problems in alloc_pages.

> (and I like your patch that removes some more magic limits - I suspect the
> proper fix is the 5 lines from Rik's patch in page_alloc.c, and your patch
> together - amybody mind testing that out?)

Sounds the same to me.

> Oh, and I still _do_ think that we should rename the silly "async" flag as
> "can_do_io", and then use that to determine whether to do SLAB_KERNEL or
> SLAB_BUFFER. That would make more things able to do IO, which in turn
> should help balance things out.

getblk still needs to use SLAB_BUFFER, not sure how many callers will be
allowed to use SLAB_KERNEL, but certainly the "async" name was not very
appropriate to indicate if the bh allocation can fail or not.

Andrea