Age | Commit message (Collapse) | Author |
|
CVS ---------------------------------------------------------------------
|
|
|
|
|
|
write buffer, not the amount of space used. It is debatable wether the
size of the write buffer is set by the size of the buffer or the high water
mark. For now, go with the former since that seems to be more consistent
with what the pipe and socet code does. It is also what NetBSD does.
ok deraadt@
|
|
in fullpages that have been allocated.
spotted by claudio@
|
|
this can be used to walk over all the items allocated with a pool and have
them examined by a function the caller provides.
with help from and ok tedu@
|
|
on, aka, its coloring.
ok tedu@
|
|
this pool (and the mbstat variables, and a few other things in certain
cases)
ok mikeb, tedu, and discussion with others...
|
|
the issues seen by damien@. OK dlg@, damien@
|
|
|
|
that takes an additional argument "type" that indicates whether the
signal is for the process, just a particular thread, or propagated
to a thread because it's not caught or blocked. psignal() becomes
a wrapper that does the first of those.
So that sys_kill() can tell apart signals for the process and signals
for the process's original thread, the tid of the original thread
is defined as its pid + THREAD_PID_OFFSET.
ok tedu@ art@ andreas@ kurt@ "better early than late" deraadt@
|
|
drivers are guaranteed to make progress. We could probably set it to 1,
but we set it to 2, to make sure drivers that link descriptors don't link
a descriptor back to itself.
ok deraadt@, dlg@
|
|
|
|
inside if_data, so that netstat(1) and systat(1) can see them
ok dlg
|
|
|
|
them in again.
|
|
works and there's even some sanity checks that it actually returns what we
expect it to return.
|
|
userland for handling. this is to scsi what tun(4) is for networks.
this is going into the tree so i can work on some crazy scsi stuff, but its
not being enabled since it is useless unless you're working on some crazy
scsi stuff.
|
|
|
|
|
|
|
|
todo. Discussed with deraadt@ and dlg@
|
|
|
|
single buffer without changing the head mbuf. This is done with a lot of
magic so there will be dragons.
Tested and OK dlg@, kettenis@
|
|
ok and improvements jmc@
|
|
borked and instead of stressing to figure out how to fix it, I'll
let peoples kernels to work.
|
|
|
|
allocators again.
|
|
by otto@
ok otto@
|
|
ok dlg
|
|
but don't do that in m_free() as that will cause a double loop behaviour when
called via m_freem().
OK dlg@, deraadt@
|
|
This should make dlg happy.
|
|
objects. dmesg is being spammed with splasserts.
disable the 8k, 9k, 12k, 16k, and 64k backend pools for the cluster
allocator.
art will fix this when he gets back from dinner, otherwise i'll nag more.
|
|
allocator.
|
|
This is solved by special allocators and an obfuscated compare function
for the page header splay tree and some other minor adjustments.
At this moment, the allocator will be picked automagically by pool_init
and you can get a kernel_map allocator if you specify PR_WAITOK in flags
(XXX), default is kmem_map. This will be changed in the future once the
allocator code is slightly reworked. But people want to use it now.
"nag nag nag nag" dlg@
|
|
submitted before randomattach, and thus will perturb the first arc4random()
call, which is very good
ok art djm
|
|
other option
ok dlg
|
|
of. currently limited to MCLBYTES (2048 bytes) and 4096 bytes until pools
can allocate objects of sizes greater than PAGESIZE.
this allows drivers to ask for "jumbo" packets to fill rx rings with.
the second half of this change is per interface mbuf cluster allocator
statistics. drivers can use the new interface (MCLGETI), which will use
these stats to selectively fail allocations based on demand for mbufs. if
the driver isnt rapidly consuming rx mbufs, we dont allow it to allocate
many to put on its rx ring.
drivers require modifications to take advantage of both the new allocation
semantic and large clusters.
this was written and developed with deraadt@ over the last two days
ok deraadt@ claudio@
|
|
is a lot slower. Before release this should be backed out, but for now
we need everyone to run with this and start finding the use-after-free
style bugs this exposes. original version from tedu
ok everyone in the room
|
|
from getnewbuf() to buf_put(), since getnewbuf() does not directly
recycle buffers anymore. While at it, remove two lines of dead code
from getnewbuf(), which used to disassociate a vnode from a buffer.
"just go for it, because everyone had a chance" deraadt@.
|
|
three-byte jmp will be acceptable as the preamble to a FAT boot
sector for the purposes of spoofing an 'i' partition. Problem noted
most recently by mbalmer@.
Fixes mbalmer@, fkr@ and jmc@'s Nokia E71 phones.
"seems silly" tedu@ "disgusting" deraadt@ "makes sense" fkr@
ok jmc@ "looks ok" weingart@
|
|
ok deraadt@
|
|
into a potentially sleeping function... ok tedu.
|
|
ok deraadt
|
|
atomically and not after sleeping.
ok deraadt pedro
|
|
|
|
|
|
fork(), i worry about it a lot but cannot prove yet that sleeping there
is bad. Anyways, this change makes us never sleep in that area -- the
memory needed is allocated ealier like the ptrace state. tested by many
developers.
|
|
the rest of the code, okay art@.
|
|
- setrunnable should never be run on SIDL processes. That's a bug and will
cause all kinds of trouble. Change the switch statement to panic
if that happens.
- p->p_stat == SRUN implies that p != curproc since curproc will always be
SONPROC. This is a leftover from before SONPROC.
deraadt@ "commit"
|