Linux-kernel mailing list archive 2000-06,: Re: Again: Process stuck in D state while locking in NFS

# Re: Again: Process stuck in D state while locking in NFS

Rik van Riel (riel@nl.linux.org)
Wed, 9 Feb 2000 21:18:25 +0100 (CET)

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Stephen C. Tweedie: "Re: how does kernel get the "current" task struct?"
- Previous message: Alan Cox: "Re: Fix for eepro100 Tx timeouts?"

On Wed, 9 Feb 2000, Miklos Szeredi wrote:

> bcica:~ # ps lw 7577
> FLAGS UID PID PPID PRI NI SIZE RSS WCHAN STA TTY TIME COMMAND
> 8100 10348 7577 1 0 0 3840 2284 rpc_execute D ? 0:00 ./gkeeper
>
> This is the second time in two days, that a process gets stuck in
> rpc_execute. It is the same program, run as non-root, trying to do
> an ordinary F_SETLKW fcntl() for a read lock.

Let me guess, this happened at a time when there was heavy
memory pressure?

After my memory changes (2.2.15pre5 and 6) we caught a lot
of places where the code was trying to allocate memory
with __GFP_WAIT set but completely unprepared to actually
wait!

It should be obvious that this can lead to a hanging
process when the system gets low on memory. This bug is
present in all 2.2 kernels (but very hard to trigger in
earlier ones). I hope to have it fixed in 2.2.15pre6 and
later, __get_free_pages() there contains a workaround to
the problem.

regards,

Rik

    --
    The Internet is not a network of computers. It is a network
    of people. That is its real strength.

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

- Next message: Stephen C. Tweedie: "Re: how does kernel get the "current" task struct?"
- Previous message: Alan Cox: "Re: Fix for eepro100 Tx timeouts?"