On 03 Jun 2014, at 21:30, Joerg Sonnenberger <jo...@netbsd.org> wrote:

> Module Name:  src
> Committed By: joerg
> Date:         Tue Jun  3 19:30:30 UTC 2014
> 
> Modified Files:
>       src/sys/fs/cd9660: cd9660_lookup.c
>       src/sys/fs/filecorefs: filecore_lookup.c
>       src/sys/kern: vfs_cache.c
>       src/sys/sys: namei.src
>       src/sys/ufs/ext2fs: ext2fs_lookup.c
>       src/sys/ufs/lfs: ulfs_lookup.c
>       src/sys/ufs/ufs: ufs_lookup.c
> 
> Log Message:
> Introduce two helper functions to centralise the namecache statistics
> in vfs_cache.c. Use consistent locking around the per-cpu data.

This change leads to a deadlock:

Thread 1 calls cache_revlookup(),
  holds ncp->nc_lock @ line 589,
  wants cpup->cpu_lock @ line 604

Thread 2 calls cache_lookup(),
  holds cpup->cpu_lock @ line 391,
  calls cache_lookup_entry(),
    wants ncp->nc_lock @ line 308

--
J. Hannken-Illjes - hann...@eis.cs.tu-bs.de - TU Braunschweig (Germany)

Reply via email to