On Mon, 2008-03-10 at 01:19 +0000, Samuel Thibault wrote:
> 
> This thread is syncing everything, i.e. asking a lot of writes, which
> triggers the creation of a lot of threads.  Unfortunately the superblock
> was paged out, so they all block on reading it.  Unfortunately, since in
> Debian there is a patch which limits the number of created threads,
> the read of the superblock doesn't actually create a new thread, that is
> delayed.  But since none of the existing threads can progress (since
> they are all waiting for the super block), things are just dead
> locked...

As a general rule, the Hurd always assumes that an RPC can be handled;
this is quite emebedded in the way diskfs works.

A patch which limits the number of threads is inherently buggy in the
Hurd, and that patch MUST be disabled for anything to work properly.

> I'm currently using a quite ugly patch (on top of the >2GB patch) to 
> avoid this by just always keeping a copy of the superblock, attached. 
> I'll commit it in the Debian package.

This is not a fix.  This just postpones the problem.  There are many
pagers, all of which must always be able to function.

Thomas




Reply via email to