Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
pipex and bridge. this puts KERNEL_LOCK/KERNEL_UNLOCK around the pipex
chunk till we can give it some mp love.
ok yasuoka@ mpi@
|
|
at the owner. every other arch does it the same, so this is to
reduce differences between our platforms.
ok miod@
|
|
lists and the apte with a mutex. Rearrange some code to avoid
sleeping/spinning with one of these locks held. This should make
pmap_enter(9), pmap_remove(9) and pmap_page_protect(9) safe to use without
holding the kernel lock. Unfortunately there still seems to be an issue
that causes deadlocks under pressure. That shouldn't be an issue as
long as uvm still calls the pmap functions with the kernel lock held.
Hopefully committed this will help finding the last bugs.
ok mlarkin@, deraadt@
|
|
if a pseudo-interface is on a different rdomain than its parent.
Sorry for the inconvenience, I hope you'll fly again with us.
Regression reported by and ok semarie@, ok phessler@
|
|
|
|
ifp in order to access its ifih handlers.
So get rid of if_get() in the various ifih handlers we know the ifp is
live at this point.
ok dlg@
|
|
the previous asserts checked if the mutex was locked by any cpu or
not when they should have been checking if the current cpu has the
lock or not.
found by miod after i enabled pool_gc again.
ok miod@
|
|
"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@
|
|
talking about (*ifp->if_output)().
ok claudio@, dlg@
|
|
after the Ethernet header in its own function and use it in bridge_input().
This should fix alignment issues kettenis@ is seeing.
ok bluhm@, claudio@
|
|
ok kettenis@
|
|
ok jmatthew
|
|
for now to get jumbo frames working. oce(4) will need the same
treatment as ix(4) when sparc64 support will be implemented.
Tested by Pedro Caetano <pedrocaetano at binaryflows ! com>, thanks!
|
|
Allow to re-plug USB3 devices on the root hub withtout going through a
suspend/resume cycle (or rebooting) with Intel ICH7 xHCI as found the
hardway by sobrado@.
Debugging help from M.A.R. Osorio, tested by sobrado@
|
|
into its own functions.
Needed for upcoming "port link state" change handling.
Tested by sobrado@
|
|
This prevents rtentry loops when rt->rt_gwroute points to rt leading
to an infamous "rtentry leak" panic, easily triggered by dhclient(8)
trying to remove a route after resuming a machine.
This bug is at least 20 years old! 4.4BSD-Lite2 had a fix for it in
its X.25 output routine but apparently it never made it into OpenBSD.
ok claudio@
|
|
a tool parsing device descriptors.
Use the same name as DragonFly/FreeBSD since they export it to userland.
From Ludovic Coues.
|
|
tweaks and ok mpi@
|
|
if_input.
from and ok mpi@
|
|
|
|
sys/sys/atomic.h default of __sync_synchronize() resulted in "dmb sy",
a full system barrier for all memory operations. With this change
membar_producer() switches to "dmb st" (StoreStore).
earlier version ok rapha@
|
|
ago and I forgot to commit this until now.
From Wei Liu <wei.liu2 at citrix.com>
ok mikeb@, guenther@, ratchov@
|
|
ok guenther@, millert@
|
|
registers. This lets us kill the special handling of pid 1 in fork and
merge {proc,child}_trampoline(). Do the same if ptrace(PT_SETREGS) is used
to modify registers.
ok mlarkin@ kettenis@
|
|
with some modes on machines with the 915GM chipset.
discussed with jsg@
|
|
|
|
so we can build dwc2 without extra stuff.
tested by several edgerouter lite owners, ok jasper@
|
|
|
|
Don't skip the AST check when returning from *fork() in the child.
Make sure to count interrupts even when they're deferred or stray.
testing by krw@, and then many via snapshots
|
|
testing by krw@, and then many via snapshots
|
|
|
|
there's an `sc' local variable. This allows us to no longer have to fake a
softc at match time.
|
|
|
|
too.
|
|
legit enabled ones
problem reported by Pedro Caetano (pedrocaetano (at) binaryflows.com)
ok kettenis@
|
|
ok jsg@
|
|
ok mpi@
|
|
deraadt@ thinks this isn't worth it, but reyk@ and mlarkin@ tested it anyway
|
|
|
|
this break some devices.
As found the hardway by Hugo Sastre via sobrado@
|
|
ok mpi@
|
|
hw_prod is not initialized.
While here simply use "PowerBook" as model name, there's no "iBook"
model in Apple device-trees.
ok miod@ (who's cleaning one of his forests after 3 years)
|
|
<sys/audioio.h>
|
|
don't attach the ad1848 driver. But the "malloc" method of gus_hw_if
is ad1848_malloc() which assumes a ad1848 is attached (and expect the
softc pointer to be a struct ad1848_softc, but get a gus_softc pointer
instead). Implement, the missing gus_{malloc,free,mappage,...}
routines. Add the missing mtx_{enter,leave} calls, as we're at it.
Found by mlarkin.
ok mlarkin
|
|
tested by reyk, mlarkin, others
|
|
it to unsigned, and we need to also check for negative values.
All users of OF_getprop() did this but that one.
ok mpi@
|