#
e9189611 |
| 17-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Well folks, this is it - The second stage of the removal for build support for LKM's..
|
#
af8ad83e |
| 06-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Use the reference-counted PHOLD()/PRELE() rather than P_NOSWAP.
|
#
4ac9ae70 |
| 02-Mar-1999 |
Julian Elischer <julian@FreeBSD.org> |
Fix thread/process tracking and differentiation for Linux threads emulation.
Submitted by: Richard Seaman, Jr." <dick@tar.com>
Also clean some compiler warnings in surrounding code.
|
Revision tags: release/3.1.0 |
|
#
88c5ea45 |
| 26-Jan-1999 |
Julian Elischer <julian@FreeBSD.org> |
Enable Linux threads support by default. This takes the conditionals out of the code that has been tested by various people for a while. ps and friends (libkvm) will need a recompile as some proc str
Enable Linux threads support by default. This takes the conditionals out of the code that has been tested by various people for a while. ps and friends (libkvm) will need a recompile as some proc structure changes are made.
Submitted by: "Richard Seaman, Jr." <dick@tar.com>
show more ...
|
Revision tags: release/3.0.0, release/2.2.8 |
|
#
dc9c271a |
| 07-Jan-1999 |
Julian Elischer <julian@FreeBSD.org> |
Changes to the LINUX_THREADS support to only allocate extra memory for shared signal handling when there is shared signal handling being used.
This removes the main objection to making the shared si
Changes to the LINUX_THREADS support to only allocate extra memory for shared signal handling when there is shared signal handling being used.
This removes the main objection to making the shared signal handling a standard ability in rfork() and friends and 'unconditionalising' this code. (i.e. the allocation of an extra 328 bytes per process).
Signal handling information remains in the U area until such a time as it's reference count would be incremented to > 1. At that point a new struct is malloc'd and maintained in KVM so that it can be shared between the processes (threads) using it.
A function to check the reference count and move the struct back to the U area when it drops back to 1 is also supplied. Signal information is therefore now swapable for all processes that are not sharing that information with other processes. THis should addres the concerns raised by Garrett and others.
Submitted by: "Richard Seaman, Jr." <dick@tar.com>
show more ...
|
#
6626c604 |
| 19-Dec-1998 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: Luoqi Chen, Jordan Hubbard Submitted by: "Richard Seaman, Jr." <lists@tar.com> Obtained from: linux :-)
Code to allow Linux Threads to run under FreeBSD.
By default not enabled This
Reviewed by: Luoqi Chen, Jordan Hubbard Submitted by: "Richard Seaman, Jr." <lists@tar.com> Obtained from: linux :-)
Code to allow Linux Threads to run under FreeBSD.
By default not enabled This code is dependent on the conditional COMPAT_LINUX_THREADS (suggested by Garret) This is not yet a 'real' option but will be within some number of hours.
show more ...
|
#
643a8daa |
| 09-Nov-1998 |
Don Lewis <truckman@FreeBSD.org> |
If the session leader dies, s_leader is set to NULL and getsid() may dereference a NULL pointer, causing a panic. Instead of following s_leader to find the session id, store it in the session struct
If the session leader dies, s_leader is set to NULL and getsid() may dereference a NULL pointer, causing a panic. Instead of following s_leader to find the session id, store it in the session structure.
Jukka found the following info:
BTW - I just found what I have been looking for. Std 1003.1 Part 1: SYSTEM API [C LANGUAGE] section 2.2.2.80 states quite explicitly...
Session lifetime: The period between when a session is created and the end of lifetime of all the process groups that remain as members of the session.
So, this quite clearly tells that while there is any single process in any process group which is a member of the session, the session remains as an independent entity.
Reviewed by: peter Submitted by: "Jukka A. Ukkonen" <jau@jau.tmt.tele.fi>
show more ...
|
Revision tags: release/2.2.7, release/2.2.6 |
|
#
2d8acc0f |
| 22-Jan-1998 |
John Dyson <dyson@FreeBSD.org> |
VM level code cleanups.
1) Start using TSM. Struct procs continue to point to upages structure, after being freed. Struct vmspace continues to point to pte object and kva space for kstack. u_map
VM level code cleanups.
1) Start using TSM. Struct procs continue to point to upages structure, after being freed. Struct vmspace continues to point to pte object and kva space for kstack. u_map is now superfluous. 2) vm_map's don't need to be reference counted. They always exist either in the kernel or in a vmspace. The vmspaces are managed by reference counts. 3) Remove the "wired" vm_map nonsense. 4) No need to keep a cache of kernel stack kva's. 5) Get rid of strange looking ++var, and change to var++. 6) Change more data structures to use our "zone" allocator. Added struct proc, struct vmspace and struct vnode. This saves a significant amount of kva space and physical memory. Additionally, this enables TSM for the zone managed memory. 7) Keep ioopt disabled for now. 8) Remove the now bogus "single use" map concept. 9) Use generation counts or id's for data structures residing in TSM, where it allows us to avoid unneeded restart overhead during traversals, where blocking might occur. 10) Account better for memory deficits, so the pageout daemon will be able to make enough memory available (experimental.) 11) Fix some vnode locking problems. (From Tor, I think.) 12) Add a check in ufs_lookup, to avoid lots of unneeded calls to bcmp. (experimental.) 13) Significantly shrink, cleanup, and make slightly faster the vm_fault.c code. Use generation counts, get rid of unneded collpase operations, and clean up the cluster code. 14) Make vm_zone more suitable for TSM.
This commit is partially as a result of discussions and contributions from other people, including DG, Tor Egge, PHK, and probably others that I have forgotten to attribute (so let me know, if I forgot.)
This is not the infamous, final cleanup of the vnode stuff, but a necessary step. Vnode mgmt should be correct, but things might still change, and there is still some missing stuff (like ioopt, and physical backing of non-merged cache files, debugging of layering concepts.)
show more ...
|
#
74b2192a |
| 12-Dec-1997 |
John Dyson <dyson@FreeBSD.org> |
We have had support for running the kernel daemons as threads for quite a while, but forgot to do so. For now, this code supports most daemons running as kernel threads in UP kernels, and as full p
We have had support for running the kernel daemons as threads for quite a while, but forgot to do so. For now, this code supports most daemons running as kernel threads in UP kernels, and as full processes in SMP. We will soon be able to run them as threads in SMP, but not yet.
show more ...
|
#
be67169a |
| 20-Nov-1997 |
Bruce Evans <bde@FreeBSD.org> |
Removed unused includes.
Staticized.
Avoid passing a `retval' to fork1().
Fixed some style bugs.
|
#
cb226aaa |
| 06-Nov-1997 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the "retval" (3rd) parameter from all syscall functions and put it in struct proc instead.
This fixes a boatload of compiler warning, and removes a lot of cruft from the sources.
I have not re
Move the "retval" (3rd) parameter from all syscall functions and put it in struct proc instead.
This fixes a boatload of compiler warning, and removes a lot of cruft from the sources.
I have not removed the /*ARGSUSED*/, they will require some looking at.
libkvm, ps and other userland struct proc frobbing programs will need recompiled.
show more ...
|
Revision tags: release/2.2.5_cvs |
|
#
eb776aea |
| 26-Aug-1997 |
Bruce Evans <bde@FreeBSD.org> |
Fixed some gratuitous ANSIisms.
|
#
e384a980 |
| 22-Aug-1997 |
Peter Wemm <peter@FreeBSD.org> |
Print a warning if an unsupported (under SMP) shared address space fork is attempted rather than just failing with an errno.
|
#
2244ea07 |
| 06-Jul-1997 |
John Dyson <dyson@FreeBSD.org> |
This is an upgrade so that the kernel supports the AIO calls from POSIX.4. Additionally, there is some initial code that supports LIO. This code supports AIO/LIO for all types of file descriptors, w
This is an upgrade so that the kernel supports the AIO calls from POSIX.4. Additionally, there is some initial code that supports LIO. This code supports AIO/LIO for all types of file descriptors, with few if any restrictions. There will be a followup very soon that will support significantly more efficient operation for VCHR type files (raw.) This code is also dependent on some kernel features that don't work under SMP yet. After I commit the changes to the kernel to support proper address space sharing on SMP, this code will also work under SMP.
show more ...
|
#
b3196e4b |
| 22-Jun-1997 |
Peter Wemm <peter@FreeBSD.org> |
Preliminary support for per-cpu data pages.
This eliminates a lot of #ifdef SMP type code. Things like _curproc reside in a data page that is unique on each cpu, eliminating the expensive macros li
Preliminary support for per-cpu data pages.
This eliminates a lot of #ifdef SMP type code. Things like _curproc reside in a data page that is unique on each cpu, eliminating the expensive macros like: #define curproc (SMPcurproc[cpunumber()])
There are some unresolved bootstrap and address space sharing issues at present, but Steve is waiting on this for other work. There is still some strictly temporary code present that isn't exactly pretty.
This is part of a larger change that has run into some bumps, this part is standalone so it should be safe. The temporary code goes away when the full idle cpu support is finished.
Reviewed by: fsmp, dyson
show more ...
|
#
2c1011f7 |
| 16-Jun-1997 |
John Dyson <dyson@FreeBSD.org> |
Modifications to existing files to support the initial AIO/LIO and kernel based threading support.
|
#
8f453f3e |
| 29-May-1997 |
Peter Wemm <peter@FreeBSD.org> |
Don't need "opt_smp.h" on these files
|
Revision tags: release/2.2.2_cvs |
|
#
c76e95c3 |
| 26-Apr-1997 |
Peter Wemm <peter@FreeBSD.org> |
Create sysctl kern.fast_vfork, on for uniprocessor by default, off for SMP.
|
#
c32ba248 |
| 26-Apr-1997 |
Peter Wemm <peter@FreeBSD.org> |
Disable RFMEM in vfork for smp case.. It doesn't seem to work too well yet..
|
#
0eaa559c |
| 23-Apr-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Restore memory space separation (RFMEM) for vfork() after shell imgact memory clobbering fixed
|
#
6b707440 |
| 23-Apr-1997 |
John Dyson <dyson@FreeBSD.org> |
Give up on the fast vfork() for a while.
|
#
c58494e4 |
| 20-Apr-1997 |
John Dyson <dyson@FreeBSD.org> |
Re-institute the efficent version of vfork. It appears to make a difference of approx 3mins in make world on my P6!!! This means that vfork now has full address space sharing, so beware with sloppy
Re-institute the efficent version of vfork. It appears to make a difference of approx 3mins in make world on my P6!!! This means that vfork now has full address space sharing, so beware with sloppy vfork programming. Also, you really do need to apply the previously committed popen fix in libc.
show more ...
|
#
d7f7f3f2 |
| 14-Apr-1997 |
John Dyson <dyson@FreeBSD.org> |
Make a problem that I cannot reproduce go away for now. This commit is to decrease the inconvienience of other developers until I can really fix the code. Reviewed by: Donald J. Maddox <dmaddox@scsn
Make a problem that I cannot reproduce go away for now. This commit is to decrease the inconvienience of other developers until I can really fix the code. Reviewed by: Donald J. Maddox <dmaddox@scsn.net>
show more ...
|
#
5856e12e |
| 13-Apr-1997 |
John Dyson <dyson@FreeBSD.org> |
Fully implement vfork. Vfork is now much much faster than even our fork. (On my machine, fork is about 240usecs, vfork is 78usecs.)
Implement rfork(!RFPROC !RFMEM), which allows a thread to divorc
Fully implement vfork. Vfork is now much much faster than even our fork. (On my machine, fork is about 240usecs, vfork is 78usecs.)
Implement rfork(!RFPROC !RFMEM), which allows a thread to divorce its memory from the other threads of a group.
Implement rfork(!RFPROC RFCFDG), which closes all file descriptors, eliminating possible existing shares with other threads/processes.
Implement rfork(!RFPROC RFFDG), which divorces the file descriptors for a thread from the rest of the group.
Fix the case where a thread does an exec. It is almost nonsense for a thread to modify the other threads address space by an exec, so we now automatically divorce the address space before modifying it.
show more ...
|
#
263a3392 |
| 07-Apr-1997 |
Peter Wemm <peter@FreeBSD.org> |
Remove explicit zero of p_vmspace on creation, it's now in the startzero section of the proc struct.
|