Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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"
|
|
|
|
|
|
|
|
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@
|
|
|
|
|