| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Also delete some prototype KTRACE code which is not headed in the
right direction.
|
|
|
|
|
| |
spotted by Maxime Villard
ok guenther millert
|
|
|
|
|
|
| |
SELF list like the other threading calls
ok deraadt@
|
|
|
|
| |
ok deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Introduce new defines TTHIWATMINSPACE, TTMINHIWAT for some magic values
that are used in tty.c.
- Remove hiwat adjustments in ttwrite(). This fixes this codepath not
being interrupt safe.
- Change ttysetwater() to keep at least TTHIWATMINSPACE space above the high
water mark. This makes it consistent with ttycheckoutq(). Without this
change, the hiwat adjustment change above causes deadlocks in pty.
ok kspillner@
commit it now deraadt@
|
| |
|
|
|
|
| |
it also applies to sys_openat().
|
|
|
|
|
|
| |
when using tame(2). This allows threaded programs to work.
OK deraadt@
|
| |
|
|
|
|
| |
descriptors.
|
| |
|
|
|
|
| |
descriptor, so call fd_getfile to get a struct file *. ok deraadt
|
| |
|
| |
|
|
|
|
| |
yet to verify it is a bpf node. Will be used by tcpdump privsep side.
|
| |
|
|
|
|
|
|
| |
memory for lazy binding
ok deraadt@
|
|
|
|
| |
ok krw@ sthen@ comments from deraadt@, miod@
|
| |
|
|
|
|
|
| |
a value so that they may be called with UVM_PLA_NOWAIT
ok kettenis@
|
|
|
|
|
|
|
| |
first queue to the second.
Mark the first queue as DMA in preparation for being able to use more memory
by flipping. Flipper code currently only sets and clears the flag.
ok tedu@ guenther@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
retval on error, including a long long retval on successful lseek(),
and including a register_t retval for other successes. This fixes
lseek reporting on ILP32 archs.
While here, reworking internal kern_ktrace.c bits to be able to pass
two buffers to ktrwriteraw(), so we can avoid mallocing a buffer
in some cases and so that KTR_GENIO logs are split at PAGE_SIZE,
not PAGE_SIZE-sizeof(struct ktrgenio)
ok miod@
|
| |
|
|
|
|
|
|
| |
operating model". This is the kernel component; various changes should
proceed in-tree for a while before userland programs start using it.
ok miod, discussions and help from many
|
|
|
|
|
|
|
|
| |
and a count instead of calling the callback on each one, while also renders
the 'dispose' argument superfluous.
Move unp_*() prototypes from <sys/un.h> to <sys/unpcb.h>
ok claudio@ mpi@
|
|
|
|
| |
From Martin Natano
|
|
|
|
|
|
|
|
| |
reaching around through the routing table
original diff by myself, much improved by mikeb@ and mpi@
ok and testing mikeb@ mpi@
|
|
|
|
|
| |
based on jeremy@'s diff
ok jeremy@ deraadt@
|
|
|
|
|
|
| |
to never return the internal RNF_ROOT nodes. This removes the checks
in the callee to verify that not an RNF_ROOT node was returned.
OK mpi@
|
|
|
|
|
| |
calling code simpler.
ok stsp mpi
|
|
|
|
|
| |
for human sacrifices to get this fixed in a reasonably near future, and the
tree must build.
|
|
|
|
| |
ok bluhm@, claudio@, dlg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"shared reference pointers".
srp allows concurrent access to a data structure by multiple cpus
while avoiding interlocking cpu opcodes. it manages its own reference
counts and the garbage collection of those data structure to avoid
use after frees.
internally srp is a twisted version of hazard pointers, which are
a relative of RCU.
jmatthew wrote the bulk of a hazard pointer implementation and
changed bpf to use it to allow mpsafe access to bpfilters. however,
at s2k15 we were trying to apply it to other data structures but
the memory overhead of every hazard pointer would have blown out
significantly in several uses cases. a bulk of our time at s2k15
was spent reworking hazard pointers into srp.
this diff adds the srp api and adds the necessary metadata to struct
cpuinfo on our MP architectures. srp on uniprocessor platforms has
alternate code that is optimised because it knows there'll be no
concurrent access to data by multiple cpus.
srp is made available to the system via param.h, so it should be
available everywhere in the kernel.
the docs likely need improvement cos im too close to the implementation.
ok mpi@
|
|
|
|
|
|
|
|
| |
compatibility with 4.3BSD in September 1989.
*Pick your own definition for "temporary".
ok bluhm@, claudio@, dlg@
|
|
|
|
|
|
|
|
| |
the problems it tickled by working outside the biglock on archs
with mutex and clock interaction have been fixed, as evidenced by
the softnet taskq.
ok deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
receiving interface in the packet header of every mbuf.
The interface pointer should now be retrieved when necessary with
if_get(). If a NULL pointer is returned by if_get(), the interface
has probably been destroy/removed and the mbuf should be freed.
Such mechanism will simplify garbage collection of mbufs and limit
problems with dangling ifp pointers.
Tested by jmatthew@ and krw@, discussed with many.
ok mikeb@, bluhm@, dlg@
|
| |
|
|
|
|
|
|
|
| |
list after transferring all elements away. Reorder the conditionals
to make sure that ml_init() is always called for a non empty second
list. This makes all cases consistent and is less surprising.
OK dlg@
|
|
|
|
| |
struct proc *p, ok deraadt
|
|
|
|
|
|
|
|
|
|
|
|
| |
which calls VOP_GETATTR(). For NFS, that leads to nfs_getattr().
If the node's attributes are not in NFS's cache, nfs_getattr() will
invoke nfs_request() and the latter will sleep, allowing the file
pointer to disappear while we traverse the list.
This results in kernel crashes while running netstat or pstat -f.
Grab a reference to the file descriptor before calling FILLIT(),
and release it afterwards. This way the file descriptor cannot
disappear while we sleep in nfs_getattr().
Analysis and fix from Pedro Martelletto; input and OK guenther@ mpi@
|
| |
|
|
|
|
|
|
|
| |
option to fcntl(), so that isatty() can use this rather than than the bloated
ioctl() interface. Reducing uses of ioctl() by libc makes it easier to
constrain programs with various kinds of systrace sandboxes.
ok guenther, previously discussed as a concept with nicm
|
|
|
|
| |
ok krw@ miod@
|
|
|
|
|
|
|
| |
portions of msleep and tsleep to give interrupts a chance to run
on other CPUs.
Tweak and OK kettenis
|
|
|
|
|
|
|
|
| |
Since we use the poll backend for select(2), care must be taken not
to set the fd's bit in writefds in this case. A kernel-only flag,
POLLNOHUP, is used by selscan() to tell the poll backend not to
return POLLHUP on EOF. This is currently only used by fifo_poll().
The fifofs regress now passes. OK guenther@
|
|
|
|
|
|
|
|
|
| |
archs and different sized disk sectors. Make MBR have higher priority
than GPT. Add many paranoia checks and associated DPRINTF's to make
further development easier. Keep everything hidden behind #ifdef
GPT.
Tested and ok doug@ mpi@. Nothing bad seen by millert@.
|
|
|
|
|
|
| |
during autoconf and after panics.
Tweak and OK guenther, OK miod
|
|
|
|
| |
Input and ok millert@
|
| |
|