[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Hung kswapd (2.4.0-t11p5)
Hi Bob and Rik,
Bob Matthews <bmatthews@redhat.com> writes:
> kswapd itself appears to be stuck here:
>
> (gdb) list *0xc01394c2
> 0xc01394c2 is in create_buffers (buffer.c:1240).
> 1235
> 1236 /*
> 1237 * Set our state for sleeping, then check again for buffer heads.
> 1238 * This ensures we won't miss a wake_up from an interrupt.
> 1239 */
> 1240 wait_event(buffer_wait, nr_unused_buffer_heads >=
> MAX_BUF_PER_PAGE);
> 1241 goto try_again;
> 1242 }
> 1243
> 1244 static int create_page_buffers(int rw, struct page *page, kdev_t
> dev, int b[], int size)
That's apparently exactly the same place shm swapping gets
stuck. Apparently we run out of buffer heads on highmem machines (I
actually believe that we can trigger the same on lowmem machines also,
only under much higher load wrt the machine size, but that's only a
guess)
Greetings
Christoph
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/