Age | Commit message (Collapse) | Author |
|
in case we need it. the idea is to try to get rid of some potential
sleeps..
ok tedu
|
|
global process list and calling ktrsettracevnode() in ktrwrite(), so
that we don't sleep in vrele(). Discussed with deraadt@, okay beck@,
tedu@ and thib@.
|
|
it did not sleep. this is used to avoid checkdirs() to avoid having
to restart the allproc walk every time through
idea from tedu, ok thib pedro
|
|
it might be needed later -- before calling pfind(), so that enterpgrp()
can operate without sleeping
ok tedu
|
|
sleeping calls. Since we are simply operating on another process'
vmspace, grab a (refcounted) copy of that pointer and use that instead.
Similar to the bug just fixed in sysctl_proc_args.
discussed with art
|
|
sleeping calls. Since we are simply operating on another process'
vmspace, grab a (refcounted) copy of that pointer and use that instead.
originally spotted by kurt, discussed with art
|
|
|
|
|
|
|
|
to be snapped. Change it so that everytime it sleeps it restarts from the
top of the list.
ok art
|
|
tested by many on many archs including several alpha test.
ok tedu@ go for it deraadt@
|
|
PR 5609, and revisited with dlg. Tested on all platforms.
ok miod
|
|
lock when we've never given it up. this is a remnant of the mpsafe
workq stuff we had that wasnt cleaned up properly.
found by and fix tested by oga@
|
|
|
|
|
|
add a new arg to the backend so it can tell pool to slow down. when we get
this flag, yield *after* putting the page in the pool's free list. whatever
we do, don't let the thread sleep.
this makes things better by still letting the thread run when a huge pf
request comes in, but without artificially increasing pressure on the backend
by eating pages without feeding them forward.
ok deraadt
|
|
Idea and original patch mk@
ok mk@, krw@
|
|
cache entries which are freed (and potentially reused), but which are
currently in use by another kernel thread which was sleeping in vput()
or vget(). This causes the crash in PR 5960, but potentially a
bunch of other side effects. figured out with pedro.
ok kettenis
|
|
changes the pressure on the uvm system, uncovering several bugs. Some
of those bugs result in provable deadlocks. We'll have to reconsider
integrating this diff again after fixing those bugs.
ok art@
|
|
which are uniform for the profclock on each cpu in a SMP system (but using
a different seed for each cpu). on all cpus, avoid seeding with a value out
of the [0, 2^31-1] range (since that is not stable)
ok kettenis drahn
|
|
Put a reference count in struct process to prevent use-after-free
if the main thread reaches the reaper ahead of some other thread
in the process. Use the reference count to update the user process
count correctly when changin real uid.
"please re-commit before something else nasty comes in" deraadt@
|
|
now the offset into the first mbuf of the target chain before copying
the source data over. From FreeBSD.
Convert drivers' use of m_devget(). Mostly from thib@.
Update mbuf(9) man page.
ok claudio@, thib@
|
|
instead of M_NOWAIT. Checking for M_NOWAIT made many malloc calls that used
that flag actually wait. This probably explains many if the strange hangs
people have seen recently.
ok miod@
|
|
|
|
becomes a very large number it will not wrap the short into a negative
number and screw up timeouts. It will simply become a max of 65535. Since
this happens when HZ is cranked to a high number, this will still only take
n seconds, or less. Safer than crashing.
Prompted by PR 5511
ok guenther
|
|
ok art@
|
|
for users by the correct amount when changing real UID on (r)threaded
processes.
ok art@ tedu@
|
|
if the main thread reaches the reaper ahead of some other thread
in the process.
ok art@ tedu@
|
|
to the user or the superuser. Display * for those fields instead. From
PR 5113, but modified to use copyout correctly.
comments from tedu, ok from others
|
|
|
|
high HZ) set it to 1, to avoid various divide-by-zero errors later
Based on discussion in PR 5511
ok miod
|
|
signal is already pending in the calling thread or the main thread
and there's no longer a race condition where the signal could be
diverted but sigwait() would still block. There were some off-by-one
errors too.
(The checking of the main thread's pending list is just until a
pending list for the process can be added to struct process. For
now, such signals end up as pending on the main thread.)
oks tedu@ and art@
|
|
and should return stat information instead of EINVAL from deep in the
guts of tcp_usrreq. While there, put some more information into struct
stat, inspired by FreeBSD. EINVAL problem reported in PR 5943
|
|
This will allow us to escape the limitations of kmem_map.
At this moment, the per-type limits are still enforced for all sizes,
but we might loosen that limit in the future after some thinking.
Original diff from Mickey in kernel/5761 , I massaged it a little to
obey the per-type limits.
miod@ ok
|
|
|
|
ok tedu@
|
|
- file descriptor table becomes the owner of the lock instead of the proc.
- When grabbing the lock, we check if the fd hasn't changed under our
feet, this is more or less impossible to solve without a hack like
this. I've banged my head against the wall, I figured out a solution,
but implementing it correctly would cost me 12 gray hairs. Screw it,
this is ugly, but it works.
- Wait until usecount drains before releasing the posix lock in closef.
- Add missing FREF/FRELE to sys_flock
- keep the pid in the flock struct instead of abusing the fact that we
used to use the proc as the lock owner.
Pointed out by and discussed with Al Viro, big thanks.
miod@ ok
|
|
of that for shell scripts to cover the #!, an optional space following
it and a newline at the end. feedback and ok miod@
|
|
ok miod@
|
|
ok cluadio@ henning@
|
|
Really just the low-hanging fruit of (hopefully) forthcoming timeout
conversions.
ok art@, krw@
|
|
process sleeping on a unique address (wakeup -> wakeup_one)
ok guenther@, tedu@, art@
|
|
|
|
|
|
use the constant for IPL_SCHED, and not splsched(), which doesn't do what
we want.
ok art@. Tested by Paul de Weerd.
|
|
correct address to write the passed label. Don't spoof partitions
while looking for the address, as this could result in an invalid
label being written out.
"That looks right" deraadt@ "Looks good to me" miod@
|
|
|
|
ok marco@ deraadt@
|
|
used once -- in m_free(). Removed so that people don't get stupid ideas.
OK thib@
|
|
512) bytes; ffs is inextricably tied to using b_blkno and disklabel
always uses sectorsize units.
Thus use DEV_BSIZE units for all fields describing ffs filesystems
and convert to/from sectors where required. This enables the creation
and use of ffs filesystems on non-512 byte sectorsize devices.
This diff allows i386 and sgi (the two test platforms) to find
disklabels that are not on a sectorsize boundary. Same change to
further archs coming.
This is a no-op on 512-byte sectorsize devices.
This work triggered by jsing@'s need to create ffs filesystems on
sgi cdroms so we can create cdrom install media for sgi.
sgi testing by jsing@
ok jsing@ pedro@ "looks sane" beck@ weingart@
|