freebsd-dev/sys/fs
Konstantin Belousov 5c7bebf961 The process spin lock currently has the following distinct uses:
- Threads lifetime cycle, in particular, counting of the threads in
  the process, and interlocking with process mutex and thread lock.
  The main reason of this is that turnstile locks are after thread
  locks, so you e.g. cannot unlock blockable mutex (think process
  mutex) while owning thread lock.

- Virtual and profiling itimers, since the timers activation is done
  from the clock interrupt context.  Replace the p_slock by p_itimmtx
  and PROC_ITIMLOCK().

- Profiling code (profil(2)), for similar reason.  Replace the p_slock
  by p_profmtx and PROC_PROFLOCK().

- Resource usage accounting.  Need for the spinlock there is subtle,
  my understanding is that spinlock blocks context switching for the
  current thread, which prevents td_runtime and similar fields from
  changing (updates are done at the mi_switch()).  Replace the p_slock
  by p_statmtx and PROC_STATLOCK().

The split is done mostly for code clarity, and should not affect
scalability.

Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2014-11-26 14:10:00 +00:00
..
autofs Implement "automount -c". 2014-11-22 16:48:29 +00:00
cd9660 Generalize vn_get_ino() to allow filesystems to use custom vnode 2014-07-14 08:34:54 +00:00
cuse Use existing PHOLD() and PRELE() macros. 2014-06-24 18:25:43 +00:00
deadfs Style changes for deadfs: 2014-10-15 13:22:33 +00:00
devfs Fix up some session-related races in devfs. 2014-11-03 03:12:15 +00:00
ext2fs ifdef ext2_print_inode which is not really used. 2014-11-12 16:23:56 +00:00
fdescfs Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
fifofs Ignore the error from pipespace_new when creating a pipe. 2014-05-02 00:52:13 +00:00
fuse Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
msdosfs Do not set IN_ACCESS flag for read-only mounts. The IN_ACCESS 2014-10-11 19:09:56 +00:00
nandfs Set the erase block size properly in the case the underlying media 2014-08-02 05:05:16 +00:00
nfs Fix failures and warnings reported by newpynfs20090424 test tool. 2014-10-03 02:24:41 +00:00
nfsclient Fix handling of "conn" mount_nfs(8) option. 2014-10-30 09:25:03 +00:00
nfsserver Allow the vfs.nfsd knobs to be set from loader.conf (or using 2014-10-27 07:47:13 +00:00
nullfs Provide vfs suspension support only for filesystems which need it, take 2014-10-20 18:00:50 +00:00
procfs The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +00:00
pseudofs Redo r258088 to avoid relying on signed arithmetic overflow, since 2013-11-20 19:41:00 +00:00
smbfs Fix smbfs to not zero out statfs f_flags field. Previously, this 2014-11-21 06:21:39 +00:00
tmpfs tmpfs: allow shared file lookups 2014-10-21 21:27:13 +00:00
udf Add currently unused flag argument to the cluster_read(), 2013-03-14 20:28:26 +00:00
unionfs Provide vfs suspension support only for filesystems which need it, take 2014-10-20 18:00:50 +00:00