#
053effc6 |
| 26-Oct-2002 |
Julian Elischer <julian@FreeBSD.org> |
iBack out david's last commit. the suspension code needs to be called for non KSE processes too.
|
#
3139ada5 |
| 26-Oct-2002 |
David Xu <davidxu@FreeBSD.org> |
Move suspension checking code from userret() into thread_userret().
|
#
b43179fb |
| 12-Oct-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
- Create a new scheduler api that is defined in sys/sched.h - Begin moving scheduler specific functionality into sched_4bsd.c - Replace direct manipulation of scheduler data with hooks provided by
- Create a new scheduler api that is defined in sys/sched.h - Begin moving scheduler specific functionality into sched_4bsd.c - Replace direct manipulation of scheduler data with hooks provided by the new api. - Remove KSE specific state modifications and single runq assumptions from kern_switch.c
Reviewed by: -arch
show more ...
|
#
5715307f |
| 09-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
- Move p_cpulimit to struct proc from struct plimit and protect it with sched_lock. This means that we no longer access p_limit in mi_switch() and the p_limit pointer can be protected by the pro
- Move p_cpulimit to struct proc from struct plimit and protect it with sched_lock. This means that we no longer access p_limit in mi_switch() and the p_limit pointer can be protected by the proc lock. - Remove PRS_ZOMBIE check from CPU limit test in mi_switch(). PRS_ZOMBIE processes don't call mi_switch(), and even if they did there is no longer the danger of p_limit being NULL (which is what the original zombie check was added for). - When we bump the current processes soft CPU limit in ast(), just bump the private p_cpulimit instead of the shared rlimit. This fixes an XXX for some value of fix. There is still a (probably benign) bug in that this code doesn't check that the new soft limit exceeds the hard limit.
Inspired by: bde (2)
show more ...
|
Revision tags: release/4.7.0_cvs |
|
#
289e1e23 |
| 02-Oct-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
Access td->td_kse inside sched_lock.
Submitted by: julian
|
#
bc7b9f1d |
| 02-Oct-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
De-obfuscate local use of members of 'struct thread', for which we have local variables, and group assignment.
|
#
92dbb82a |
| 02-Oct-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Add a new MAC entry point, mac_thread_userret(td), which permits policy modules to perform MAC-related events when a thread returns to user space. This is required for policies that have floating pr
Add a new MAC entry point, mac_thread_userret(td), which permits policy modules to perform MAC-related events when a thread returns to user space. This is required for policies that have floating process labels, as it's not always possible to acquire the process lock at arbitrary points in the stack during system call processing; process labels might represent traditional authentication data, process history information, or other data.
LOMAC will use this entry point to perform the process label update prior to the thread returning to userspace, when plugged into the MAC framework.
Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
show more ...
|
#
1d9c5696 |
| 01-Oct-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
Back our kernel support for reliable signal queues.
Requested by: rwatson, phk, and many others
|
#
feb24496 |
| 01-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Minor style nits in a comment.
|
#
6cae6dac |
| 01-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Various style fixups.
Submitted by: bde (mostly)
|
#
f6ccde83 |
| 01-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Actually clear PS_XCPU in ast() when we handle it.
Submitted by: bde Pointy hat to: jhb
|
#
dc183990 |
| 30-Sep-2002 |
John Baldwin <jhb@FreeBSD.org> |
- Add a new per-process flag PS_XCPU to indicate that at least one thread has exceeded its CPU time limit. - In mi_switch(), set PS_XCPU when the CPU time limit is exceeded. - Perform actual CPU ti
- Add a new per-process flag PS_XCPU to indicate that at least one thread has exceeded its CPU time limit. - In mi_switch(), set PS_XCPU when the CPU time limit is exceeded. - Perform actual CPU time limit exceeded work in ast() when PS_XCPU is set.
Requested by: many
show more ...
|
#
1226f694 |
| 30-Sep-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
First half of implementation of ksiginfo, signal queues, and such. This gets signals operating based on a TailQ, and is good enough to run X11, GNOME, and do job control. There are some intricate p
First half of implementation of ksiginfo, signal queues, and such. This gets signals operating based on a TailQ, and is good enough to run X11, GNOME, and do job control. There are some intricate parts which could be more refined to match the sigset_t versions, but those require further evaluation of directions in which our signal system can expand and contract to fit our needs.
After this has been in the tree for a while, I will make in kernel API changes, most notably to trapsignal(9) and sendsig(9), to use ksiginfo more robustly, such that we can actually pass information with our (queued) signals to the userland. That will also result in using a struct ksiginfo pointer, rather than a signal number, in a lot of kern_sig.c, to refer to an individual pending signal queue member, but right now there is no defined behaviour for such.
CODAFS is unfinished in this regard because the logic is unclear in some places.
Sponsored by: New Gold Technology Reviewed by: bde, tjr, jake [an older version, logic similar]
show more ...
|
#
253fdd5b |
| 23-Sep-2002 |
Julian Elischer <julian@FreeBSD.org> |
slightly clean up the thread_userret() and thread_consider_upcall() calls. also some slight changes for TDF_BOUND testing and small style changes Should ONLY affect KSE programs
Submitted by: davidxu
|
#
1c39a774 |
| 22-Aug-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Spell proprly properly:
failed to set signal flags proprly for ast() failed to set signal flags proprly for ast() failed to set signal flags proprly for ast() failed to set signal flags prop
Spell proprly properly:
failed to set signal flags proprly for ast() failed to set signal flags proprly for ast() failed to set signal flags proprly for ast() failed to set signal flags proprly for ast()
show more ...
|
Revision tags: release/4.6.2_cvs, release/4.6.2, release/4.6.1 |
|
#
aaa1c771 |
| 11-Jul-2002 |
Jonathan Mini <mini@FreeBSD.org> |
Revert removal of cred_free_thread(): It is used to ensure that a thread's credentials are not improperly borrowed when the thread is not current in the kernel.
Requested by: jhb, alfred
|
#
ad22735e |
| 10-Jul-2002 |
Julian Elischer <julian@FreeBSD.org> |
Don't slow every syscall and trap by doing locks and stuff if the 'stop' bits are not set. This is a temporary thing.. I think this code probably needs to be rewritten anyhow.
|
Revision tags: release/4.6.0_cvs |
|
#
e602ba25 |
| 29-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
Part 1 of KSE-III
The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test pro
Part 1 of KSE-III
The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools)
Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands)
NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
show more ...
|
#
01ad8a53 |
| 24-Jun-2002 |
Jonathan Mini <mini@FreeBSD.org> |
Remove unused diagnostic function cread_free_thread().
Approved by: alfred
|
#
d0c149fc |
| 07-Jun-2002 |
John Baldwin <jhb@FreeBSD.org> |
We no longer need to acqure Giant in ast() for ktrpsig() in postsig() now that ktrace no longer needs Giant.
|
#
628855e7 |
| 30-May-2002 |
Julian Elischer <julian@FreeBSD.org> |
CURSIG() is not a macro so rename it cursig().
Obtained from: KSE tree
|
#
79065dba |
| 04-Apr-2002 |
Bruce Evans <bde@FreeBSD.org> |
Moved signal handling and rescheduling from userret() to ast() so that they aren't in the usual path of execution for syscalls and traps. The main complication for this is that we have to set flags t
Moved signal handling and rescheduling from userret() to ast() so that they aren't in the usual path of execution for syscalls and traps. The main complication for this is that we have to set flags to control ast() everywhere that changes the signal mask.
Avoid locking in userret() in most of the remaining cases.
Submitted by: luoqi (first part only, long ago, reorganized by me) Reminded by: dillon
show more ...
|
#
b454c6dd |
| 29-Mar-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Style fixes purposefully left out of last commit. I checked the kse tree and didn't see any changes that this conflicts with.
|
#
d0ce9a7e |
| 29-Mar-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Remove abuse of intr_disable/restore in MI code by moving the loop in ast() back into the calling MD code. The MD code must ensure no races between checking the astpening flag and returning to userm
Remove abuse of intr_disable/restore in MI code by moving the loop in ast() back into the calling MD code. The MD code must ensure no races between checking the astpening flag and returning to usermode.
Submitted by: peter (ia64 bits) Tested on: alpha (peter, jeff), i386, ia64 (peter), sparc64
show more ...
|
#
cb9a238a |
| 21-Mar-2002 |
Warner Losh <imp@FreeBSD.org> |
Remove last two abuses of cpu_critical_{enter,exit} in the MI code.
Reviewed by: jake, jhb, rwatson
|