Commit Graph

4280 Commits

Author SHA1 Message Date
martin 673523f500 Move to standard TNF 2 clause license 2008-05-04 00:35:37 +00:00
njoly 4c44d432ea Add SCHED_FIFO/SCHED_RR support to sched_get_priority_{min,max}. 2008-05-01 16:06:17 +00:00
ad 1498ad220e Make various bits of debug code compile again. 2008-04-30 14:07:13 +00:00
ad 928a6b2096 PR kern/38135 vfs_busy/vfs_trybusy confusion
The previous fix worked, but it opened a window where mounts could have
disappeared from mountlist while the caller was traversing it using
vfs_trybusy(). Fix that.
2008-04-30 12:49:16 +00:00
jmmv b8f1187ff1 Fix build of these files after the vfs_trybusy change. Apply the same
modification done in compat/common/vfs_syscalls_20.c:1.27.
2008-04-30 06:49:23 +00:00
ad e3610f1886 kern/38135 vfs_busy/vfs_trybusy confusion
The symptom was that sometimes file systems would occasionally not appear
in output from 'df' or 'mount' if the system was busy. Resolution:

- Make mount locks work somewhat like vm_map locks.
- vfs_trybusy() now only fails if the mount is gone, or if someone is
  unmounting the file system. Simple contention on mnt_lock doesn't
  cause it to fail.
- vfs_busy() will wait even if the file system is being unmounted.
2008-04-29 23:51:04 +00:00
ad e8acac827e Remove now bogus assertion. 2008-04-29 19:02:14 +00:00
ad 1074fa7182 Ignore processes with PK_MARKER set. 2008-04-29 15:55:24 +00:00
njoly 4490c7c69a In linux_get_sa(), make salen parameter unsigned.
Avoid kernel DIAGNOSTIC 0 bytes uvm mapping assertion, for negative
values.
2008-04-29 09:56:38 +00:00
martin 3028e483e4 Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
njoly 659effb31a Remove a duplicate mutex_enter call in linux32_e_proc_init().
Fix a kernel panic for processes created with FORK_SHAREVM.
2008-04-26 22:55:10 +00:00
ad 284c2b9aef Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since
we no longer need to guard against access from hardware interrupt handlers.

Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the
child process share the parent's lock so that signal state may be kept in
sync. Partially addresses PR kern/37437.
2008-04-24 18:39:20 +00:00
njoly 436fa0ef05 Add IPC_64 support for semctl IPC_STAT/IPC_SET. 2008-04-24 16:42:54 +00:00
ad 6d70f903e6 Network protocol interrupts can now block on locks, so merge the globals
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).
Implications:

- Inspecting process state requires thread context, so signals can no longer
  be sent from a hardware interrupt handler. Signal activity must be
  deferred to a soft interrupt or kthread.

- As the proc state locking is simplified, it's now safe to take exit()
  and wait() out from under kernel_lock.

- The system spends less time at IPL_SCHED, and there is less lock activity.
2008-04-24 15:35:27 +00:00
ad 026542bb25 Regen. 2008-04-24 11:51:47 +00:00
ad 30abe39468 - Retire SYCALL_MPSAFE. With the exceptions of darwin and irix emulations,
all system calls are now MPSAFE.
- Remove unneeded acquire/release of kernel_lock.
2008-04-24 11:51:18 +00:00
ad 15e29e981b Merge the socket locking patch:
- Socket layer becomes MP safe.
- Unix protocols become MP safe.
- Allows protocol processing interrupts to safely block on locks.
- Fixes a number of race conditions.

With much feedback from matt@ and plunky@.
2008-04-24 11:38:36 +00:00
christos f6889916d7 Make this compile again, from Jan-Benedict Glaw jbglaw at lug-owl dot de 2008-04-23 23:34:11 +00:00
ad bfb6f31431 Disable bitrotted linux ptrace interfaces, which are likely now a
security hole. Can be re-enabled at runtime. If you want to repair
them please look at the native implementation.
2008-04-23 14:18:50 +00:00
ad dd55791531 Regen. 2008-04-23 14:10:03 +00:00
ad 7cb840338e -SYCALL_MPSAFE 2008-04-23 14:07:49 +00:00
ad 1265474f26 sys_kill -> sys__lwp_kill 2008-04-23 14:01:09 +00:00
ad f1b58cdc9b Sprinkle locks. 2008-04-23 13:58:06 +00:00
ad 98c2709959 Sprinkle locking. 2008-04-23 13:51:48 +00:00
ad dc31d7f7e9 sys_kill -> sys__lwp_kill 2008-04-23 13:49:21 +00:00
ad 494c1ad8d6 Fix locking. 2008-04-23 13:44:46 +00:00
ad 8d0205c623 Grab kernel_lock for cpu_reboot(). 2008-04-23 13:40:17 +00:00
ad e0b56ca8f5 Fix locking. 2008-04-23 13:34:44 +00:00
ad 6bf00a454d Catch up with linux. 2008-04-23 13:30:41 +00:00
ad ce69e3e9c8 Fix locking. 2008-04-23 13:13:25 +00:00
ad d0466d413e Tweak locking. 2008-04-23 13:11:42 +00:00
ad bb0c94d223 Tweak previous. 2008-04-23 13:09:40 +00:00
ad 14f88acc9b Fix locking. 2008-04-23 13:02:32 +00:00
ad 1e216688e1 - Use cdev_tty().
- Tweak locking.
2008-04-23 12:55:16 +00:00
ad a87ccd221c Sprinkle locking. 2008-04-23 12:50:53 +00:00
ad 624dcd9102 Sprinkle locking. 2008-04-22 21:33:13 +00:00
ad dce30353aa Add a comment. 2008-04-22 21:29:21 +00:00
ad be60f17289 Repair copyright. 2008-04-22 21:26:48 +00:00
ad 9e0517c26f Grab proclist_lock for p->p_pgrp. 2008-04-22 21:23:17 +00:00
njoly d8f896655c Add LINUX_IPC_64 support for LINUX_IPC_SET in shmctl. Required, at
least, for amd64 which use LINUX_IPC_FORCE64.
2008-04-21 22:57:06 +00:00
njoly f1bd64daf3 Rename LINUX_SHMCTL_FORCEIPC64 define to LINUX_IPC_FORCE64. 2008-04-21 22:38:18 +00:00
ad 08b44dd8b9 timer fixes for PR 37093:
- Fix serious concurrency problems, making the code MT and MP safe in
  the process.
- Don't allocate memory or inspect process state from hardclock().
2008-04-21 00:13:46 +00:00
njoly 3dadb2a2df Regen for sys_clock_{getres,gettime,settime} syscalls. 2008-04-17 17:48:40 +00:00
njoly c007e33a3a Add compat linux32 sys_clock_{getres,gettime,settime} syscalls. 2008-04-17 17:47:23 +00:00
njoly 69614dfece Remove an obsolete comment about SHM_LOCK/SHM_UNLOCK being no-op. 2008-04-16 14:47:31 +00:00
njoly 14183438ed Kill a few other unused linux syscall arguments/prototypes
definitions.
2008-04-16 10:03:31 +00:00
njoly a73122f64e Make linux32_sys_nice call sys_setpriority directly instead of
netbsd32_setpriority.
2008-04-15 21:13:34 +00:00
njoly 8529e0b201 Remove syscall prototypes forgotten in previous commit. 2008-04-15 21:10:06 +00:00
njoly 80b21f4457 Remove unused linux_sys_setresgid16_args/linux_sys_setresuid16_args
definitions.
2008-04-15 19:10:19 +00:00