freebsd-nq/sys/kern
Jeffrey Hsu 34c54d9f74 Rewrite the SMP filedesc locking in knote_attach() in order to
1.  eliminate unnecessary loop which frees and re-allocates
	the just allocated array
  2.  eliminate the newsize recomputation
  3.  eliminate unnecessary unlock and relock around free
  4.  correctly match the free with the malloc into M_KQUEUE instead of M_TEMP
  5.  eliminate conditional assignment of oldlist, which is equivalent to a
	simple assignment
  6.  eliminate the oldlist temporary variable completely

Reviewed by:    jhb
2003-01-21 04:05:49 +00:00
..
bus_if.m Add two interfaces to allow for busses to report the pnpinfo for 2002-10-07 05:06:38 +00:00
clock_if.m Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
device_if.m
genassym.sh Allow one to specify the AWK used in the environment(commandline). 2002-02-11 03:54:30 +00:00
imgact_aout.c Use the fields in the sysentvec and in the vm map header in place of the 2002-09-21 22:07:17 +00:00
imgact_elf32.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf64.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf.c - Provide backwards compatibility for kern.fallback_elf_brand. 2003-01-05 03:48:14 +00:00
imgact_gzip.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
imgact_shell.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
inflate.c Modernize my email address. 2002-03-25 13:52:45 +00:00
init_main.c Originally when DEVFS was added, a global variable "devfs_present" 2003-01-19 11:03:07 +00:00
init_sysent.c Some KSE syscalls are MPSAFE. 2003-01-08 04:57:53 +00:00
kern_acct.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
kern_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
kern_alq.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_clock.c 1. Support versioning and wall clock in kse mailbox, 2002-11-18 01:59:31 +00:00
kern_condvar.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_conf.c disk_dev_synth() is a NO_GEOM hack. 2003-01-20 11:29:07 +00:00
kern_context.c Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
kern_descrip.c Originally when DEVFS was added, a global variable "devfs_present" 2003-01-19 11:03:07 +00:00
kern_environment.c remove syscallarg(). 2002-12-14 02:07:32 +00:00
kern_event.c Rewrite the SMP filedesc locking in knote_attach() in order to 2003-01-21 04:05:49 +00:00
kern_exec.c Perform VOP_GETATTR() before mac_check_vnode_exec() so that 2003-01-21 03:26:28 +00:00
kern_exit.c It is possible for an active aio to prevent shared memory from being 2003-01-13 23:04:32 +00:00
kern_fork.c fdcopy() only needs a filedesc pointer. 2003-01-01 01:19:31 +00:00
kern_idle.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_intr.c Don't put a newline in KTR traces. 2002-12-28 23:22:22 +00:00
kern_jail.c Don't forget to destroy the mutex if an error occurs 2002-12-20 14:32:20 +00:00
kern_kse.c Remove a KASSERT that can now happen and add a missing setrunnable. 2003-01-20 03:41:04 +00:00
kern_kthread.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_ktr.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_ktrace.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_linker.c Resolve relative relocations in klds before trying to parse the module's 2003-01-21 02:42:44 +00:00
kern_lock.c Remove a race condition / deadlock from snapshots. When 2002-11-30 19:00:51 +00:00
kern_lockf.c - Fix a bunch of casts to long which were truncating off_t's. 2002-11-07 21:56:05 +00:00
kern_mac.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
kern_malloc.c Introduce malloc_last_fail() which returns the number of seconds since 2002-11-01 18:58:12 +00:00
kern_mib.c - Provide backwards compatibility for kern.fallback_elf_brand. 2003-01-05 03:48:14 +00:00
kern_module.c Move the MOD_SHUTDOWN event from shutdown_post_sync to shutdown_final, 2003-01-07 22:24:13 +00:00
kern_mtxpool.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_mutex.c Disable the kernacc() check in mtx_validate() until such time that kernacc 2002-10-25 08:40:20 +00:00
kern_ntptime.c Explicitly have the timecounter init happen after the cpu_initclocks is 2003-01-06 01:01:08 +00:00
kern_physio.c Close the remaining user address mapping races for physical 2003-01-20 17:46:48 +00:00
kern_poll.c Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
kern_proc.c Remove unnecessary lock assertion. 2003-01-04 11:45:50 +00:00
kern_prot.c Include file cleanup; mac.h and malloc.h at one point had ordering 2002-08-01 17:47:56 +00:00
kern_resource.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_sema.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_shutdown.c Introduce the 2003-01-04 20:54:58 +00:00
kern_sig.c Forgot to call setrunnable() for un-idled thread. 2003-01-07 06:04:33 +00:00
kern_subr.c Reduce the number of times that we acquire and release the page queues 2002-12-29 07:17:06 +00:00
kern_switch.c Remove a KASSERT that can now happen and add a missing setrunnable. 2003-01-20 03:41:04 +00:00
kern_sx.c Set the lock type equal to the lock name for now as all of the current 2002-04-04 20:49:35 +00:00
kern_synch.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_syscalls.c - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
kern_sysctl.c Introduce the ability to flag a sysctl for operation at secure level 2 or 3 2003-01-14 19:35:33 +00:00
kern_tc.c Move a local variable to avoid the compiler warning about it being unused. 2003-01-16 20:06:45 +00:00
kern_thread.c Remove a KASSERT that can now happen and add a missing setrunnable. 2003-01-20 03:41:04 +00:00
kern_time.c Remove unnecessary locking of Giant around nanotime() in clock_gettime(). 2003-01-19 11:28:22 +00:00
kern_timeout.c Fix a format buglet. 2002-09-05 11:42:03 +00:00
kern_uuid.c SMP locking for ifnet list. 2002-12-22 05:35:03 +00:00
kern_xxx.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
ksched.c headers should not really include "opt_foo.h" (in this case opt_posix.h). 2002-11-15 22:55:06 +00:00
link_elf_obj.c Resolve relative relocations in klds before trying to parse the module's 2003-01-21 02:42:44 +00:00
link_elf.c Resolve relative relocations in klds before trying to parse the module's 2003-01-21 02:42:44 +00:00
linker_if.m
Make.tags.inc Don't hardcode /sys when making tags, instead use ${.CURDIR}/.. this 2002-02-27 10:07:15 +00:00
Makefile
makesyscalls.sh The syscall names are string constants, so make them consts. 2002-10-29 15:47:06 +00:00
md4c.c
md5c.c We have memset() and memcpy() in the kernel now, so we don't need to 2002-10-20 22:33:42 +00:00
p1003_1b.c Use copyout to access user memory. 2003-01-07 20:10:04 +00:00
posix4_mib.c Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
sched_4bsd.c - Unbreak world. I did not notice that libkvm was still used in some places 2003-01-13 03:42:41 +00:00
subr_acl_posix1e.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
subr_autoconf.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_blist.c Remove all use of the LOG2() macro/inline, undoing some non-optimal cruft 2003-01-11 01:09:51 +00:00
subr_bus.c Fix comment about what we do when there are no listeners. 2003-01-19 00:34:17 +00:00
subr_clist.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
subr_clock.c Use the CPU_* OID constants instead of OID_AUTO for the clock-related 2002-08-07 19:43:54 +00:00
subr_devstat.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
subr_disk.c Only include <sys/diskslice.h> ifdef NO_GEOM 2003-01-20 11:28:37 +00:00
subr_disklabel.c Move alpha_fix_srm_checksum() from subr_diskmbr.c to subr_disklabel.c 2003-01-17 19:37:55 +00:00
subr_diskmbr.c #ifdef NO_GEOM these files entirely. When NO_GEOM is removed as an 2003-01-19 11:51:35 +00:00
subr_diskslice.c #ifdef NO_GEOM these files entirely. When NO_GEOM is removed as an 2003-01-19 11:51:35 +00:00
subr_eventhandler.c Wrap a line longer than 80 characters. 2002-07-19 17:44:44 +00:00
subr_hints.c Cosmetic tweaks. Try and keep the style more consistent, catch some stray 2002-05-01 02:51:50 +00:00
subr_kobj.c Convert hit and miss counters to unsigned values. Surely negative values 2002-06-10 22:40:26 +00:00
subr_log.c Make the msg_size, msg_bufx and msg_bufr memebers of struct msgbuf 2002-11-14 16:11:12 +00:00
subr_mbuf.c o Introduce a new external mbuf type, EXT_EXTREF. 2003-01-02 21:16:50 +00:00
subr_mchain.c Remove the hto(be|le)[slq] and (be|le)toh[slq] macros defined in 2002-12-16 16:20:06 +00:00
subr_module.c
subr_param.c Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
subr_pcpu.c Add a per-cpu variable, cpumask, the preshifted equivalent of 1 << cpuid. 2002-01-05 09:35:50 +00:00
subr_power.c Use ISO 9X variadic macro format; arguments are not optional, just 2002-07-15 17:17:56 +00:00
subr_prf.c Cast the integer read as the first argument for %b to an unsigned integer 2003-01-07 18:17:18 +00:00
subr_prof.c Fix warnings & errors caused by my last commit. 2003-01-07 19:09:10 +00:00
subr_rman.c Make the rman_{get,set}_* macros into real functions. The macros 2002-11-27 03:55:22 +00:00
subr_rtc.c Use the CPU_* OID constants instead of OID_AUTO for the clock-related 2002-08-07 19:43:54 +00:00
subr_sbuf.c Add the new function "sbuf_done()" which returns non-zero if the sbuf is 2002-10-04 09:58:17 +00:00
subr_scanf.c Fix mis-indentation. 2002-10-02 09:09:25 +00:00
subr_smp.c Add a tunable kern.smp.disabled for disabling explicitly smp on an smp 2002-12-28 23:21:13 +00:00
subr_taskqueue.c If we fail to write to a vnode during a ktrace write, then we drop all 2002-08-01 13:35:38 +00:00
subr_trap.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
subr_turnstile.c Disable the kernacc() check in mtx_validate() until such time that kernacc 2002-10-25 08:40:20 +00:00
subr_witness.c Oops, add zstty to the witness order list. 2003-01-09 15:45:28 +00:00
subr_xxx.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
sys_generic.c SCARGS removal take II. 2002-12-14 01:56:26 +00:00
sys_pipe.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
sys_process.c Add a missing PROC_UNLOCK in ptrace() for the PT_IO case. 2002-10-16 16:28:33 +00:00
sys_socket.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
syscalls.c Some KSE syscalls are MPSAFE. 2003-01-08 04:57:53 +00:00
syscalls.master Some KSE syscalls are MPSAFE. 2003-01-04 11:41:12 +00:00
sysv_ipc.c It is possible for an active aio to prevent shared memory from being 2003-01-13 23:04:32 +00:00
sysv_msg.c o Clear a high bit of ipc_perm.seq so msgget(3) never returns a 2002-12-15 09:41:46 +00:00
sysv_sem.c Don't leak memory in semop(2). (Fix a bug I introduced in rev 1.55.) 2002-10-19 02:07:35 +00:00
sysv_shm.c It is possible for an active aio to prevent shared memory from being 2003-01-13 23:04:32 +00:00
tty_compat.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
tty_conf.c
tty_cons.c Remove unused variable cn_devfsdev. 2002-12-17 19:30:50 +00:00
tty_pty.c Remove cdevsw_add calls, they are deprecated. 2002-12-28 21:39:46 +00:00
tty_subr.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
tty_tty.c Originally when DEVFS was added, a global variable "devfs_present" 2003-01-19 11:03:07 +00:00
tty.c In an SMP environment post-Giant it is no longer safe to blindly 2002-10-03 02:13:00 +00:00
uipc_accf.c
uipc_cow.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
uipc_domain.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
uipc_jumbo.c o Lock page queue accesses by vm_page_free(). 2002-07-21 19:06:46 +00:00
uipc_mbuf2.c Correct mbuf packet header propagation. Previously, packet headers 2002-12-30 20:22:40 +00:00
uipc_mbuf.c Correct mbuf packet header propagation. Previously, packet headers 2002-12-30 20:22:40 +00:00
uipc_proto.c
uipc_sem.c make sem_leave return a usable errno instead of -1. 2003-01-10 23:13:16 +00:00
uipc_sockbuf.c Don't count mbufs with m_type == MT_HEADER or MT_OOBDATA as control data 2003-01-11 07:51:52 +00:00
uipc_socket2.c Don't count mbufs with m_type == MT_HEADER or MT_OOBDATA as control data 2003-01-11 07:51:52 +00:00
uipc_socket.c Disallow listen() on sockets which are in the SS_ISCONNECTED or 2003-01-17 19:20:00 +00:00
uipc_syscalls.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
uipc_usrreq.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vfs_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vfs_aio.c Close the remaining user address mapping races for physical 2003-01-20 17:46:48 +00:00
vfs_bio.c Close the remaining user address mapping races for physical 2003-01-20 17:46:48 +00:00
vfs_cache.c Split up __getcwd so that kernel callers of the internal version 2002-09-02 22:40:30 +00:00
vfs_cluster.c - Use %j to print intmax_t values. 2002-11-07 22:41:08 +00:00
vfs_default.c Temporarily introduce a new VOP_SPECSTRATEGY operation while I try 2003-01-04 22:10:36 +00:00
vfs_export.c SMP locking for radix nodes. 2002-12-24 03:03:39 +00:00
vfs_extattr.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vfs_init.c We don't need to check the return value of malloc() against 2002-06-22 21:44:11 +00:00
vfs_lookup.c Add a new 'NOMACCHECK' flag to namei() NDINIT flags, which permits the 2002-10-19 21:25:51 +00:00
vfs_mount.c When compiling the kernel do not implicitly include filedesc.h from proc.h, 2003-01-01 01:56:19 +00:00
vfs_subr.c Add a new vnode flag VI_DOINGINACT to indicate that a VOP_INACTIVE 2002-12-29 18:30:49 +00:00
vfs_syscalls.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vfs_vnops.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vnode_if.src Temporarily introduce a new VOP_SPECSTRATEGY operation while I try 2003-01-04 22:10:36 +00:00