Age | Commit message (Collapse) | Author |
|
commit.
"fix it -- free commit" beck@
|
|
buffer cache - we grow them dynamically, but do not attempt to shrink
them if the buffer cache shrinks after growing.
Tested by very many for a long time.
ok oga@ todd@ phessler@ tedu@
|
|
$ADORABLE_FELINE.
ok deraadt@ matthew@
|
|
repair that situation. Darn newbies...
|
|
from its vnode's buffer cache in an interrupt context. Therefore we
need interrupt protection when searching the buffer red-black tree.
ok deraadt@, thib@, art@
|
|
knote, remove it from the process's klist; after handling those,
remove and drop any remaining knotes from the process's klist. Ban
attaching knotes to processes that have started exiting or attaching
them via the pid of a thread other than the main thread.
ok tedu@, deraadt@
|
|
using seltrue for poll. Based on code from NetBSD.
Also remove a stray duplicate lpt entry from loongson, from deraadt.
ok tedu deraadt
|
|
|
|
only one we have.
ok krw@, deraadt@
|
|
so that the process-level stuff is to/from struct process and not
struct proc. This fixes a bunch of problem cases in rthreads.
Based on earlier work by blambert and myself, but mostly written
at c2k10.
Tested by many: deraadt, sthen, krw, ray, and in snapshots
|
|
sizeof(char *), not in bytes, so we've been allocating and copying around
four or eight times as many bytes as we needed to
ok kettenis@ deraadt@
|
|
1.119.
|
|
so no point in reserving space for kmemstats unless it's enabled.
ok thib@, deraadt@
|
|
ok deraadt
|
|
rwlock, the thread will release biglock if it sleeps, means that
atomicity from before the rw_enter() to after it is not guaranteed.
The change didn't address those, so pulling it until it does.
"go for it" tedu@
|
|
calling bufq_quiesce(). Problem spotted by matthew@.
ok matthew@, thib@
|
|
data in it. m_getptr() hops over empty buffers and points to the first
allocated data byte. Because of this the m_dup_pkthdr() call done by
m_copym0() can panic because not the first mbuf is passed.
Found the hard way by myself, diff by blambert@ commiitting for him since
he is not around. Tested and OK myself
|
|
is a variable on sparc. This should be revisited... after the arguments
for pagesize vs 4K complete :)
|
|
mysterious and unused mbtypes[] array in mbuf.h.
ok tedu@, deraadt@
|
|
|
|
pools, sized by powers of 2, which are constrained to dma memory.
ok matthew tedu thib
|
|
grabbing allproclk in proc_zap(); skip such processes in sysctl(KERN_PROC*)
and handle the NULL pointer in ddb's ps.
ok tedu@
|
|
|
|
between calls to bufq_enqueue and bufq_done calls, but bufq_requeue
can be called multiple times on an io in between the enqueue and
done. if you keep incrementing outstanding you'll never stop sleeping
for suspend.
bufq_requeue can be called via interrupts, so we cannot sleep
there.
the problems fixed by this diff were never hit cos the adapters
people are testing/running with do not cause bufq_requeue to be
called.
thanks to thib@ for helping me understand the code better
ok thib@ deraadt@ kettenis@ tedu@
|
|
enodev to poll, because this returns an errno of 19 in revents. Oops.
Use seltrue where needed, and use a new selfalse function for those which
don't know if the next op will be non-blocking
Mostly discussed with guenther and miod
|
|
|
|
|
|
and make it possible to bind sockets (including listening sockets!)
to rtables and not just rdomains. This changes the name of the
system calls, socket option, and ioctl. After building with this
you should remove the files /usr/share/man/cat2/[gs]etrdomain.0.
Since this removes the existing [gs]etrdomain() system calls, the
libc major is bumped.
Written by claudio@, criticized^Wcritiqued by me
|
|
so I can twiddle them from ddb (not that I will mess with the hashmask, but
static burns).
ok tedu@
|
|
|
|
This is more clear, and as thib pointed out, the default in softraid was
wrong. ok thib.
|
|
|
|
from small kernels
"yes" deraadt@
|
|
ok deraadt matthew millert
|
|
ok claudio@ krw@
|
|
are required to detect that.
Change the function to take a wait argument (used in nfs server, but
M_NOWAIT everywhere else for now) and to return an error
ok claudio@ henning@ krw@
|
|
Use uvm_km_kmemalloc_pla with the dma constraint to allocate kernel stacks.
Yes, that means DMA is possible to kernel stacks, but only until we've fixed
all the scary drivers.
deraadt@ ok
|
|
|
|
|
|
fhstat syscall, however, isn't needed and can go away. ok deraadt
|
|
diff. A bit of paranoia suggested by beck@.
|
|
Just like normal vs{,un}lock, but in case the pages we get are not dma
accessible, we bounce them, if they are dma acessible, the functions behave
exactly like normal vslock. The plan for the future is to have fault_wire
allocate dma acessible pages so that we don't need to bounce (especially
in cases where the same buffer is reused for physio over and over again),
but for now, keep it as simple as possible.
|
|
Do this by calling uvm_km_kmemalloc_pla with the dma_constraint.
ok art@ (ofcourse, he eats his cereal and okeys everything).
OK beck@, deraadt@
|
|
if we allocate memory before applying constraints we get memory outside
the constraints allocated in the pool. this is bad.
ok claudio@
|
|
|
|
otherwise truncation will occur on archs where LONG LONG and LONG
are not the same.
Noticed at n2k10. Error return suggested by deraadt@.
ok beck@ millert@ deraadt@ guenther@
|
|
|
|
thread. Discussion with guenther.
|
|
a freed buf as that causes problems...
|
|
way a kill() intended for a thread can result in a separate process
getting the signal.
ok tedu@ art@
|