freebsd-skq/sys
attilio 6c4cd05be5 Add the function callout_init_rw() to callout facility in order to use
rwlocks in conjuction with callouts.  The function does basically what
callout_init_mtx() alredy does with the difference of using a rwlock
as extra argument.
CALLOUT_SHAREDLOCK flag can be used, now, in order to acquire the lock only
in read mode when running the callout handler.  It has no effects when used
in conjuction with mtx.

In order to implement this, underlying callout functions have been made
completely lock type-unaware, so accordingly with this, sysctl
debug.to_avg_mtxcalls is now changed in the generic
debug.to_avg_lockcalls.

Note: currently the allowed lock classes are mutexes and rwlocks because
callout handlers run in softclock swi, so they cannot sleep and they
cannot acquire sleepable locks like sx or lockmgr.

Requested by: kmacy, pjd, rwatson
Reviewed by: jhb
2007-11-20 00:37:45 +00:00
..
amd64 Prevent the leakage of wired pages in the following circumstances: 2007-11-17 22:52:29 +00:00
arm Prevent the leakage of wired pages in the following circumstances: 2007-11-17 22:52:29 +00:00
boot MFi386: revision 1.18 2007-11-18 03:14:06 +00:00
bsm Merge OpenBSM 1.0 changes to src/sys/bsm: 2007-10-29 18:47:25 +00:00
cam Fix a change in the previous commit that was actually a type-o. 2007-11-15 16:23:38 +00:00
cddl Warn if kmem_map size is set to less than 512MB. Previous warning was a bit 2007-11-07 14:44:31 +00:00
compat Implement LINUX_SIOCGIFCOUNT and LINUX_SIOCGIFINDEX/LINUX_SIOGIFINDEX. 2007-11-07 16:42:52 +00:00
conf Re-enable -Werror for modules. 2007-11-19 16:24:10 +00:00
contrib Warn if kmem_map size is set to less than 512MB. Previous warning was a bit 2007-11-07 14:44:31 +00:00
crypto Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC 2007-07-03 12:13:45 +00:00
ddb Make the examine command honor db_pager_quit so you can use 'q' or 'x' 2007-10-27 20:19:11 +00:00
dev Dont fumble the ivars on reinit, avoids panic on suspend/resume om some systems that looses thier devices. 2007-11-19 21:11:26 +00:00
fs o English lesson from bde@: "iff" is not a typo, it means "if and only if". 2007-11-18 09:21:30 +00:00
gdb Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
geom On some arches, openssl is built with OPENSSL_NO_CAMELLIA, so the 2007-11-19 08:59:32 +00:00
gnu Remove duplicate "union" from ext2_opts. 2007-10-27 16:14:33 +00:00
i4b Spelling fix for interupt -> interrupt 2007-10-12 06:03:46 +00:00
i386 Prevent the leakage of wired pages in the following circumstances: 2007-11-17 22:52:29 +00:00
ia64 Prevent the leakage of wired pages in the following circumstances: 2007-11-17 22:52:29 +00:00
isa Split /dev/nvram driver out of isa/clock.c for i386 and amd64. I have not 2007-10-26 03:23:54 +00:00
kern Add the function callout_init_rw() to callout facility in order to use 2007-11-20 00:37:45 +00:00
libkern Do not use __XSCALE__ to detect if clz is available, use _ARM_ARCH_5 instead. 2007-10-13 12:05:36 +00:00
modules Move the agp(4) driver from sys/pci to sys/dev/agp. __FreeBSD_version was 2007-11-12 21:51:38 +00:00
net 1) dummynet_io() declaration has changed. 2007-11-06 23:01:42 +00:00
net80211 correct MIMO power save action frame format; 2007-11-14 21:28:48 +00:00
netatalk Move towards more explicit support for various network protocol stacks 2007-10-28 15:55:23 +00:00
netatm Disconnect netatm from the build as it is not MPSAFE and relies on 2007-07-14 21:49:24 +00:00
netgraph - Merge all the ng_send_fn2* functions into one - ng_send_fn2(), 2007-11-14 11:25:58 +00:00
netinet - New sysctl variable: net.inet.ip.dummynet.io_fast 2007-11-17 21:54:57 +00:00
netinet6 Move towards more explicit support for various network protocol stacks 2007-10-28 15:55:23 +00:00
netipsec Move the priv check before the malloc call for so_pcb. 2007-11-16 22:35:33 +00:00
netipx Make tcpstates[] static, and make sure TCPSTATES is defined before 2007-07-30 11:06:42 +00:00
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
netsmb Rename the kthread_xxx (e.g. kthread_create()) calls 2007-10-20 23:23:23 +00:00
nfs
nfs4client Rename the kthread_xxx (e.g. kthread_create()) calls 2007-10-20 23:23:23 +00:00
nfsclient Remove hacks from the NFSv2/3 client intended to handle a lack of a 2007-11-19 16:03:21 +00:00
nfsserver Garbage collect now-unused nfsrv_setcred() -- it's not only unused, but 2007-11-04 19:20:33 +00:00
opencrypto Rename the kthread_xxx (e.g. kthread_create()) calls 2007-10-20 23:23:23 +00:00
pc98 MFi386: revision 1.661 2007-11-14 12:29:09 +00:00
pccard
pci Move the agp(4) driver from sys/pci to sys/dev/agp. __FreeBSD_version was 2007-11-12 21:51:38 +00:00
powerpc Define atomic_cmpset_acq_long and atomic_cmpset_rel_long so that 2007-11-19 03:16:16 +00:00
rpc Remove the now-unused NET_{LOCK,UNLOCK,ASSERT}_GIANT() macros, which 2007-08-06 14:26:03 +00:00
security Implement per-object type consistency checks for labels passed to 2007-10-30 00:01:28 +00:00
sparc64 Let sunkbd(4) emulate an AT keyboard by default. 2007-11-18 18:11:16 +00:00
sun4v __builtin_stdarg_start was renamed to __builtin_va_start a long 2007-11-19 07:34:57 +00:00
sys Add the function callout_init_rw() to callout facility in order to use 2007-11-20 00:37:45 +00:00
tools
ufs Fix build without INVARIANTS and update a comment to match 2007-11-09 11:04:36 +00:00
vm Prevent the leakage of wired pages in the following circumstances: 2007-11-17 22:52:29 +00:00
Makefile Complete repo-copy and move of Coda from src/sys/coda to src/sys/fs/coda 2007-07-12 21:04:58 +00:00