lkml.org 
[lkml]   [2001]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Linux-2.4.5
On Sat, 26 May 2001, Andrea Arcangeli wrote:

> @@ -1416,11 +1416,9 @@
> */
> run_task_queue(&tq_disk);
>
> - /*
> - * Set our state for sleeping, then check again for buffer heads.
> - * This ensures we won't miss a wake_up from an interrupt.
> - */
> - wait_event(buffer_wait, nr_unused_buffer_heads >= MAX_BUF_PER_PAGE);
> + current->policy |= SCHED_YIELD;
> + __set_current_state(TASK_RUNNING);
> + schedule();
> goto try_again;
> }

This cannot possibly fix the problem because this code is
never reached.

What was observed in the backtraces by arjan, ben, marcelo
and people at IBM was:

create_buffers -> get_unused_buffer_head -> __alloc_pages

with the system looping infinitely in __alloc_pages. The
code you are changing above ONLY gets reached in case the
__alloc_pages (and thus, get_unused_buffer_head) returns
failure.

Rik
--
Virtual memory is like a game you can't win;
However, without VM there's truly nothing to lose...

http://www.surriel.com/ http://distro.conectiva.com/

Send all your spam to aardvark@nl.linux.org (spam digging piggy)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:54    [W:0.036 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site