[OpenAFS-devel] Linux 2.6.12 kernel BUG at fs/namei.c:1189

chas williams - CONTRACTOR chas@cmf.nrl.navy.mil
Fri, 20 Jan 2006 09:37:10 -0500


In message <43D0B210.5090103@pclella.cern.ch>,Rainer Toebbicke writes:
>The issue: when running out of memory the (Linux) kernel cleans up
>inodes/dentries, usually through kswapd. In that process afs code gets
>upcalled and should handle its share. Unfortunately at that point it
>is not easy to predict what locks are held, e.g. simply AFS_GLOCK()ing
>can already hang the system. The patch currently very brutally avoids

do you have a sysrq-t for one of these?

>Hangers involving kswapd are possible in all scenarios and are (modulo
>limited experience up to now) avoided with this patch.

the only objection is that this patch seems to know too much about
the behavior of the linux kernel.  interestingly enough lock_kernel()
is recursive, and AFS_GLOCK() is not.  i imagine this is what keeps
other filesystems from deadlocking in the same way.