summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
...
* - Add in support for KSEs with 0 slice values on the run queue. If we tryjeff2003-04-021-34/+90
| | | | | | | | | | | | | | | | to select a KSE with a slice of 0 we will update its slice and insert it onto the next queue. - Pass the KSE instead of the ksegrp into sched_slice(). This more accurately reflects the behavior of the code. Slices are granted to kses. - Add a function kseq_nice_min() which finds the smallest nice value assigned to the kseg of any KSE on the queue. - Rewrite the logic in sched_slice(). Add a large comment describing the new slice selection scheme. To summarize, slices are assigned based on the nice value. Priorities are still calculated based on the nice and interactivity of a process. Slice sizes of 0 may be granted for KSEs whos nice is 20 or futher away from the lowest nice on the run queue. Other nice values are scaled across the range [min, min+20]. This fixes ULEs bad behavior with positively niced processes.
* - Fix UC_COPY_SIZE. Adding up the size of structure fields doesn't takejake2003-04-011-4/+3
| | | | | | alignment into account. - Return EJUSTRETURN from set_context on success to avoid clobbering the first 2 out registers with td_retval on sparc64.
* - Set the version number in the mcontext in get_mcontext and check it injake2003-04-011-6/+9
| | | | | | | set_mcontext. - Don't make assumptions about the alignment of the mcontext inside of the ucontext; we have to save the floating point registers to the pcb and then copy to the mcontext.
* Observe conservation of packets when entering Fast Recovery whilehsu2003-04-013-6/+43
| | | | | | | | | doing Limited Transmit. Only artificially inflate the congestion window by 1 segment instead of the usual 3 to take into account the 2 already sent by Limited Transmit. Approved in principle by: Mark Allman <mallman@grc.nasa.gov>, Hari Balakrishnan <hari@nms.lcs.mit.edu>, Sally Floyd <floyd@icir.org>
* #include <geom/geom_disk.h>phk2003-04-011-0/+1
|
* Include <geom/geom_disk.h> not <sys/disk.h>phk2003-04-011-1/+1
|
* Remove the #define for bioqdisksort(), it's no longer needed.phk2003-04-011-1/+0
|
* I think the divorce successed, so stop #including <geom/geom_disk.h>phk2003-04-011-2/+1
|
* Add a crutch so that direct-mapped DMA works on alpha. This is a stepgallatin2003-04-011-0/+4
| | | | | | toward preventing this driver from crashing an alpha at boot. Tested by: Oliver Lehmann <lehmann@ans-netz.de>
* Use bioq_flush() to drain a bio queue with a specific error code.phk2003-04-0141-109/+61
| | | | | | | | Retain the mistake of not updating the devstat API for now. Spell bioq_disksort() consistently with the remaining bioq_*(). #include <geom/geom_disk.h> where this is more appropriate.
* Don't include <sys/disk.h>.phk2003-04-011-2/+0
|
* Start to split the GEOM/diskdriver specific bits into geom/geom_disk.hphk2003-04-012-47/+94
|
* Introduce bioq_flush() function.phk2003-04-012-0/+16
|
* Include <sys/conf.h> rather than trusting <sys/disk.h> to do so.phk2003-04-011-0/+1
|
* Add #include <sys/conf.h> so we don't rely on <sys/disk.h> doing it.phk2003-04-011-0/+1
|
* - smb_td_intr takes a thread as an argument not a proc.jeff2003-04-011-1/+1
|
* - smb_proc_intr is now spelled smb_td_intr.jeff2003-04-011-1/+1
| | | | | Noticed by: phk Pointy hat to: jeffr
* - p will be unused in cursig() if INVARIANTS is not defined. Access itjeff2003-04-011-3/+1
| | | | | | through td->td_proc to avoid the unused variable. Spotted by: Maxim Konovalov <maxim@macomnet.ru>
* Don't include <sys/buf.h> needlessly.phk2003-04-012-2/+4
|
* Fix KASSERT syntax error.phk2003-04-012-2/+2
|
* Implement support for RFC 3514 (The Security Flag in the IPv4 Header).mdodd2003-04-016-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (See: ftp://ftp.rfc-editor.org/in-notes/rfc3514.txt) This fulfills the host requirements for userland support by way of the setsockopt() IP_EVIL_INTENT message. There are three sysctl tunables provided to govern system behavior. net.inet.ip.rfc3514: Enables support for rfc3514. As this is an Informational RFC and support is not yet widespread this option is disabled by default. net.inet.ip.hear_no_evil If set the host will discard all received evil packets. net.inet.ip.speak_no_evil If set the host will discard all transmitted evil packets. The IP statistics counter 'ips_evil' (available via 'netstat') provides information on the number of 'evil' packets recieved. For reference, the '-E' option to 'ping' has been provided to demonstrate and test the implementation.
* Fix KASSERT syntax errors.phk2003-04-012-4/+4
| | | | Please compile LINT before commiting.
* Remove the old config interface, the new OAM is sufficiently functionalphk2003-04-012-138/+0
| | | | now.
* Remove the old config interface now that the new OAM is functional.phk2003-04-011-153/+0
|
* - Add a flags field to struct pcb. Use this to keep track of wether orjake2003-04-015-4/+46
| | | | | not the pcb has floating point registers saved in it. - Implement get_mcontext and set_mcontext.
* - Don't allow tf_wstate to be set in set_regs.jake2003-04-011-1/+6
| | | | - Clear FPRS_FEF in set_fpregs so the new registers will be reloaded.
* Implement cpu_set_upcall.jake2003-04-011-1/+13
|
* - Rename pcb_fpstate to pcb_ufp (user floating point), and change it tojake2003-04-017-70/+39
| | | | | | a simple array of 64 ints. - Use a critical section when saving floating point state in cpu_fork instead of sched_lock.
* Rename pcb_fp to pcb_sp, so as to not be confused with floating pointjake2003-04-015-9/+9
| | | | state.
* Specify the M_WAITOK flag explicitly in the MALLOC call to silence atjr2003-04-011-1/+2
| | | | runtime warning ("Bad malloc flags: 0").
* Give the M_WAITOK flag explicitly to the MALLOC call to silence a runtimetjr2003-04-011-1/+2
| | | | warning ("Bad malloc flags: 0").
* Implement casuptr.jake2003-04-012-7/+23
|
* - Regen.jeff2003-04-015-9/+9
|
* - thr_exit() should no longer be called with Giant held.jeff2003-04-011-2/+0
|
* - Mark the various thr syscalls as MP safe. Previously there was a bug ifjeff2003-04-011-4/+4
| | | | this was not done since thr_exit() unwinds giant.
* - Borrow the KSE single threading code for exec and exit. We use the checkjeff2003-04-016-10/+25
| | | | | | | | if (p->p_numthreads > 1) and not a flag because action is only necessary if there are other threads. The rest of the system has no need to identify thr threaded processes. - In kern_thread.c use thr_exit1() instead of thread_exit() if P_THREADED is not set.
* - Regen for umtx.jeff2003-04-015-7/+23
|
* - Add thr and umtx system calls.jeff2003-04-013-0/+24
|
* - Add the kern_umtx.c file to the build.jeff2003-04-011-0/+1
|
* - Include umtx.h in files generated by makesyscalls.shjeff2003-04-012-0/+3
| | | | - Add system calls for umtx.
* - Add an entry and a head for the queue of threads blocked on a umtx.jeff2003-04-011-0/+4
| | | | - Add a prototype for thr_exit1().
* - Add an api for doing smp safe locks in userland.jeff2003-04-012-0/+390
| | | | | | | | | | | | - umtx_lock() is defined as an inline in umtx.h. It tries to do an uncontested acquire of a lock which falls back to the _umtx_lock() system-call if that fails. - umtx_unlock() is also an inline which falls back to _umtx_unlock() if the uncontested unlock fails. - Locks are keyed off of the thr_id_t of the currently running thread which is currently just the pointer to the 'struct thread' in kernel. - _umtx_lock() uses the proc pointer to synchronize access to blocked thread queues which are stored in the first blocked thread.
* - We now have to include umtx.h and ucontext.h in the system call relatedjeff2003-04-011-0/+2
| | | | headers.
* - Regen for thr related system calls.jeff2003-04-015-7/+46
|
* - Add the four thr related system calls.jeff2003-04-011-0/+4
|
* - Add kern_thr.cjeff2003-04-011-0/+1
|
* - Add two files to support the thr threading interface.jeff2003-04-012-0/+311
| | | | | | - sys/thr.h contains the user space visible api that is intended only for use in threading library packages. - kern/kern_thr.c contains thr system calls and other thr specific code.
* - Define a new md function 'casuptr'. This atomically compares and setsjeff2003-04-0111-0/+146
| | | | | | | | | | a pointer that is in user space. It will be used as the basic primitive for a kernel supported user space lock implementation. - Implement this function in x86's support.s - Provide stubs that return -1 in all other architectures. Implementations will follow along shortly. Reviewed by: jake
* - In npxgetregs() use the td argument to save the fpu state from and notjeff2003-04-013-6/+3
| | | | | | | curthread. Nothing currently depends on this behavior. - Clean up an extra newline. Obtained from: bde
* - Add a placeholder for sigwaitjeff2003-03-313-0/+3
|
OpenPOWER on IntegriCloud