Age | Commit message (Collapse) | Author |
|
also, to satisfy midlayers that some fs/install tools need.
|
|
discovered by rpe
|
|
has been removed upstream as well.
|
|
stack, is currently set to 25%. With 25% battery left, a typical
modern laptop will have at least one hour runtime left. It is an
arbitrary value, and other APM power layers in the kernel set CRITICAL
to something like 5% or 10%, so set it to 10% for now.
OK mlarkin@
|
|
ok kettenis@
|
|
interrupt line register as the irq number doesn't really work as the contents
of that register might be 0, and the code has checks for non-zero irq
numbers in places. Insteadmake drm_dev_to_irq() return -1, which is an
obviously bogus, but non-zero value.
This should fix inteldrm(4) on recent Apple hardware.
|
|
pcengines APU.
ok deraadt@
|
|
As Kenjiro Cho pointed out it is very hard to cancel a dequeue operation
for some queueing disciplines when such it keeps some internal states.
As you can see, APIs can also Live Fast & Die Young.
ok dlg@
|
|
requested by sashan@
|
|
Inputs from and ok florian@, ok sthen@, visa@, sashan@
|
|
ok sthen@, visa@, sashan@, florian@
|
|
Return EAGAIN in this case:
# vmmctl -d
vmmctl: disable VMM command failed (35) - Resource temporarily unavailable
ok mlarkin@
|
|
Currently one MUST do "vmmctl -e" before creating a vm with "vmm -S ...".
Lately this could be done automagically by vmd(8) but the kernel should
not allow things that wont fly.
While here, disable vmm mode in error path if at least one of the CPUs
failed to enable it.
ok mlarkin@
|
|
ok mlarkin@
|
|
dont check if its busy at all, actually.
fine with reyk@
|
|
with pledge_socket(p, -1, state) we only check for "dns" promise against SS_DNS
socket. But it isn't possible to pass a SS_DNS socket to listen(2) or accept(2)
(EINVAL). So this deeper check is a bit useless...
ok deraadt@
|
|
|
|
|
|
hfsc needed a rollback ifqop to requeue the mbuf because it used
ml_dequeue in the begin op. now it uses MBUF_LIST_FIRST to get a
ref to the first mbuf in deq_begin.
now the disciplines dont need a rollback op, so ifq_deq_rollback
can be simplified to just releasing the mutex.
based on a discussion with kenjiro cho
|
|
found by deraadt@
|
|
MBUF_LIST_FOREACH is then rewritten on top of those.
this makes it easier to get at the head of a list too, which may make
the hfsc ifq backend nicer.
based on a discussion with kenjiro cho
ok mpi@
|
|
also. The idea is much like rpath is with files, you get an fd and then
you can play with it somewhat. In the socket space once you have a fd, you
can play with it somewhat. So you cannot bind, but you can accept. You
can listen, getpeername, getsockname, and of course set/getsockopt is
somewhat available.. yes, this makes pledge the anti-capsicum, kind of
like salt from Secovlje.. reasoning due to a conversation with tedu
|
|
to mmap, but thinking about it nothing feels risky
Long discussions with florian
|
|
few disklabel ioctls, and the DIOCMAP ioctl against /dev/diskmap used
to translate duid numbers into partitions.
This will allow pledging of at least 12 disk/filesystem aware
programs; due to the negative impact that diff will wait a bit so
everyone has a chance to update their kernels.
ok semarie
|
|
link is down.
ok mpi@
|
|
|
|
ifidx uninitialised for the gateway not directly reachable case.
ok mpi@
|
|
KERNE_LOCK.
A piece is still not right as many peole reported a "watchdog timeout"
problem.
This basically brings us back to r1.305.
ok dlg@, jmatthew@
|
|
Allows us to get rid of mq_requeue(9) and IFQ_POLL(9) because wireless
drivers use a special queue for management frames.
Tested by stsp@, ok dlg@, stsp@
|
|
The thread detaching an interface will sleep until all references to this
interface have been released. So we decided to only keep references for
a short period of time.
Keeping if_ref() private will hopefully help preserve this goal as long
as it makes sense.
Calling if_get()/if_put() in the same function also allows us to make
use of static analysis tools (thanks jsg@!) to catch our errors.
ok dlg@
|
|
destroyed during our sleep.
No objection from the slackers.
|
|
support for sppp with framing, simplifying things. Remove unused ifdefs while
there.
"sppp will go away before it gets used for something else" dlg@
|
|
once you enqueue an mbuf, you no longer own it. therefore you cant
read the length out of it. this reads the length first, then tries
to enq it.
also, call if_start instead of a bare call to the underlying start
routine.
ok mpi@ sthen@
|
|
fixing it now before i regret it more.
|
|
|
|
Tested by and ok sthen@,
|
|
Tested by and ok sthen@, ok visa@
|
|
While here keep carp(4) bits under NCARP.
Tested by and ok sthen@, ok visa@
|
|
|
|
check. You cannot open a socket in a domain unless permitted -- but
you need to be able to accept one if the code flow asks for that to
happen. The most recent check is too tight. We may need to iterate the
policy here until we hit the right vibe...
|
|
/dev/console case, so go back to doing the direct D_TTY check.
signed over a few times with guenther
|
|
|
|
ok dlg@
|
|
only a driver sets or clears OACTIVE. clearing it without setting it is
a waste of time.
|
|
only a driver sets or clears it, and trunk never sets it. therefore it
never needs to clear it.
|
|
only a driver sets or clears this flag. pppx never sets it, so it
will never be set when it checks it.
|
|
only a driver sets or clears this flag. gif never sets it, so it
wont be set when it checks it.
|
|
found by and ok jsg@
|
|
the code is refactored so the IFQ macros call newly implemented ifq
functions. the ifq code is split so each discipline (priq and hfsc
in our case) is an opaque set of operations that the common ifq
code can call. the common code does the locking, accounting (ifq_len
manipulation), and freeing of the mbuf if the disciplines enqueue
function rejects it. theyre kind of like bufqs in the block layer
with their fifo and nscan disciplines.
the new api also supports atomic switching of disciplines at runtime.
the hfsc setup in pf_ioctl.c has been tweaked to build a complete
hfsc_if structure which it attaches to the send queue in a single
operation, rather than attaching to the interface up front and
building up a list of queues.
the send queue is now mutexed, which raises the expectation that
packets can be enqueued or purged on one cpu while another cpu is
dequeueing them in a driver for transmission. a lot of drivers use
IFQ_POLL to peek at an mbuf and attempt to fit it on the ring before
committing to it with a later IFQ_DEQUEUE operation. if the mbuf
gets freed in between the POLL and DEQUEUE operations, fireworks
will ensue.
to avoid this, the ifq api introduces ifq_deq_begin, ifq_deq_rollback,
and ifq_deq_commit. ifq_deq_begin allows a driver to take the ifq
mutex and get a reference to the mbuf they wish to try and tx. if
there's space, they can ifq_deq_commit it to remove the mbuf and
release the mutex. if there's no space, ifq_deq_rollback simply
releases the mutex. this api was developed to make updating the
drivers using IFQ_POLL easy, instead of having to do significant
semantic changes to avoid POLL that we cannot test on all the
hardware.
the common code has been tested pretty hard, and all the driver
modifications are straightforward except for de(4). if that breaks
it can be dealt with later.
ok mpi@ jmatthew@
|
|
over a year ago. It's now time to remove them from queue.h.
OK krw@ guenther@ deraadt@
|