| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Leave 10 processes for root-only use, the previous
value of 1 was insufficient to run ps ax | more.
- Remove the printing of "proc: table full". When the table
really is full, this would flood the screen/logs, making
the problem tougher to deal with.
- Force any process trying to fork beyond its user's maximum
number of processes to sleep for .5 seconds before returning
failure. This turns 2000 rampaging fork monsters into 2000
harmlessly snoozing fork monsters.
Reviewed by: dillon, peter
MFC after: 1 week
|
|
|
|
| |
"Book'em Danno"
|
|
|
|
|
|
|
|
| |
step and the others are reservations for coming code.
All will be stubbed in this kernel in the next commit.
This will allow people to easily make KSE binaries for userland testing
(the syscalls will be in libc) but they will still need a real KSE kernel
to test it. (libc looks in /sys to decide what it should add stubs for).
|
|
|
|
|
|
|
| |
at any time and we do not want to call one timercounter's function with
another timecounter's structural pointer.
MFC after: 3 days
|
|
|
|
| |
such a getgid(), setgid(), etc...
|
|
|
|
|
|
|
| |
Have callers only call it as needed.
Add necessary call in ufs_kqfilter().
Test-case found by: Andrew Gallatin <gallatin@cs.duke.edu>
|
|
|
|
| |
and only partially correct.
|
|
|
|
| |
Pointy hat to: rwatson
|
| |
|
| |
|
|
|
|
|
| |
Submitted by: Neelkanth Natu <neelnatu@yahoo.com>
MFC after: 3 days
|
|
|
|
|
|
| |
VOP_CLOSE() on the vnode, so that VOP_OPEN() and VOP_CLOSE() calls
are symmetric in all failure cases. This prevents an 'open' reference
from being leaked in that unlikely failure scenario.
|
|
|
|
| |
#if 0'd.
|
|
|
|
|
|
| |
should require a shared lock, rather than an exclusive lock, which can
improve performance. No actual code change here, since a number of
VFS locking fixes are in the works.
|
|
|
|
|
|
|
|
|
| |
The use of the zone allocator may or may not be overkill.
There is an XXX: over in ufs/ufs/ufs_vnops.c that jlemon may need
to revisit.
This shaves about 60 bytes of struct vnode which on my laptop means
600k less RAM used for vnodes.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
pointer), and use the mutex pool routines. This greatly reduces the size
of the ucred structure.
|
|
|
|
|
|
|
|
| |
reaquiring it. In the same vein, don't bother dropping the thread cred
when goinf ot userland. We are guaranteed to nned it when we come back,
(which we are guaranteed to do).
Reviewed by: jhb@freebsd.org, bde@freebsd.org (slightly different version)
|
|
|
|
| |
Forgot to include lock.h and mutex.h for GIANT_REQUIRED.
|
|
|
|
|
| |
they choose to destroy themselves without regard to whether or not
they are open.
|
|
|
|
| |
This was not detected by LINT because LINT is missing COMPAT_SUNOS.
|
|
|
|
|
|
|
|
|
| |
This escaped because DEVICE_POLLING is disabled in LINT being
not compatible with SMP. In fact, it is only a runtime problem,
so if we could recognize that we are building a LINT kernel
we could as well disable the check for SMP being defined.
Reported-by: Joe Clarke
|
|
|
|
|
| |
calling rfork() to create aio threads in revision 1.46.)
o Don't recompute the FILE * when it's already stored in the kernel's AIOCB.
|
|
|
|
| |
in a NULL pointer dereference. Repair this mistake.
|
|
|
|
|
|
| |
+ SYSCTL_ULONG -> SYSCTL_UINT
+ some procedure renaming and variable rearrangement
+ fix the 'interface going deaf' problem same as in -stable.
|
|
|
|
|
|
| |
different entities. Make it so.
Reviewed by: jhb@freebsd.org (john baldwin)
|
|
|
|
|
| |
Gawk is blowing up when run natively on the sparc64 -- leading to totally
bogus kernel values (all "0x0"). Good ole BWK awk works fine however.
|
|
|
|
| |
Obtained from: ~bde/sys.dif.gz
|
|
|
|
| |
Obtained from: ~bde/sys.dif.gz
|
|
|
|
|
| |
to be 'L L L' for vop_getattr(). Don't update it yet, because there
are still many offenders.
|
|
|
|
| |
locking in the core dump code. This should be fixed.
|
|
|
|
| |
Discussed with: mckusick, phk
|
|
|
|
|
| |
kernel linker code may be wrong: it fails to hold a lock across the
call to VOP_GETATTR(), and vn_rdwr() with IO_NODELOCKED.
|
|
|
|
|
|
|
|
| |
to perform an ownership test in revoke(). This is also required for
MAC hooks so that the vnode lock is held during a call to the MAC
framework. Release the lock before calling VOP_REVOKE().
Discussed with: phk, mckusick
|
|
|
|
| |
result in compiler warnings.
|
|
|
|
| |
generated files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Modify the system call syntax for extattr_{get,set}_{fd,file}() so
as not to use the scatter gather API (which appeared not to be used
by any consumers, and be less portable), rather, accepts 'data'
and 'nbytes' in the style of other simple read/write interfaces.
This changes the API and ABI.
o Modify system call semantics so that extattr_get_{fd,file}() return
a size_t. When performing a read, the number of bytes read will
be returned, unless the data pointer is NULL, in which case the
number of bytes of data are returned. This changes the API only.
o Modify the VOP_GETEXTATTR() vnode operation to accept a *size_t
argument so as to return the size, if desirable. If set to NULL,
the size will not be returned.
o Update various filesystems (pseodofs, ufs) to DTRT.
These changes should make extended attributes more useful and more
portable. More commits to rebuild the system call files, as well
as update userland utilities to follow.
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
|
|
|
|
|
| |
solves problem with machines failing to sync in booting.
Submitted by: Tor.Egge@cvsup.no.freebsd.org
|
|
|
|
| |
code easier to read.
|
|
|
|
|
|
|
| |
iovec that was not the last one in the uio, the error would be ignored
silently.
Bug found and fix proposed by: jhb
|
|
|
|
|
| |
unlock Giant if it is not locked in the first place. This make the
nfstat(2) syscall (#278) a nice panic(2) implementation.
|
|
|
|
| |
variable declarations. :-( Definately not my day today.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix null-pointer dereference introduced when snapshotting
was introduced. This occured because unlike the previous code,
vn_start_write() doesn't always return a non-NULL mp, as
filesystems may not support the VOP_GETWRITEMOUNT() call. For
now, rely on two pointers, so that vn_finished_write() works
properly.
- Fix locking problems on exit, introduced at some past time,
some when snapshots came in, where a vnode might not be
unlocked before being vrele'd in various error situations.
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
|
|
|
|
| |
etc) which use: td->td_last_kse->ke_flags |= KEF_NEEDRESCHED;
|
| |
|
| |
|
|
|
|
|
| |
td = FIRST_THREAD_IN_PROC(p) once, after we have identified the process
that we are operating on.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The binary format "bintime" is a 32.64 format, it will go to 64.64
when time_t does.
The bintime format is available to consumers of time in the kernel,
and is preferable where timeintervals needs to be accumulated.
This change simplifies much of the magic math inside the timecounters
and improves the frequency and time precision by a couple of bits.
I have not been able to measure a performance difference which was not
a tiny fraction of the standard deviation on the measurements.
|