Age | Commit message (Collapse) | Author |
|
volatile member of the struct.
Not forcing a memory read on every access, 3 in this function, might
reduce cache traffic in some cases.
Micro-optimization and diff provided by Mateusz Guzik.
ok visa@
|
|
ok visa@, bluhm@, deraadt@
|
|
routing socket.
When clang became the default compiler, `if_flags' from `struct ifnet'
was changed from "short" to "unsigned short", to silence a warning.
Sadly the copy of these flags on the stack was still a "short" which
made the flags comparison always true, which in turn made ifioctl()
generates a RTM_INFO message for many ioctl(2).
Since my last commit, the flag comparison is done for every ioctl(2).
This made the kernel generate at least one routing message per ioctl,
resulting in a lot of RTM_DESYNC.
RTM_DESYNC problem reported by krw@ thanks to dhclient(8)'s noisiness!
ok krw@, patrick@
|
|
and a couple of missing EM_* required to build devel/libdwarf and
devel/valgrind.
ok deraadt@, jasper@
|
|
|
|
ok mpi@
|
|
|
|
|
|
FullMAC, in comparison to SoftMAC, does most WiFi handling in the
firmware that's running on the controller. This means we have to
work around the net80211 stack while still implementing all the
WiFi interfaces to userland.
This driver is still in early development. So far it can connect
to open WiFis over the USB bus. SDIO and PCIe support, for devices
like the Raspberry Pi 3 or the Macbooks, is not yet implemented.
Also mbufs on the transmit path leak and are not yet freed.
ok stsp@
|
|
and III. The logic does not look nice, but the parameters do not follow
the standard config register layout anyway.
Remove unnecessary default values, and assume that the Config1
and Config2 registers are available on every CPU.
Tested on CN5020, CN6120, CN7130 and CN7360.
|
|
|
|
Restores the balance of serenity and peace of mind of the last
real alpha user, to some extent.
From miod@
|
|
|
|
insert/remove operation.
No functionnal change for the moment. However this helps to make this
code mp-safe.
Note that markers are still not, and wont be, counted.
ok visa@, jsing@, bluhm@
|
|
It turns this set of events per-thread without having to lock anything.
From Dragonfly 10f6680a4f6684751aaae0965abfe140f19e9231
ok kettenis@, visa@, bluhm@
|
|
Only one semantic chance for SIOCSIFXFLAGS, rtm_ifchg() is now only called
when the flags changed, not always.
ok bluhm@, visa@
|
|
The selected mode is used by efifb(4).
original diff from Klemens Nanni, tested by Andrew Daugherity
|
|
tested by a few
|
|
|
|
with hidmt_input function
|
|
process has a chance to create new dirty vnodes. Resolving soft
dependencies adds vnodes to the dirty list.
In softdep_flushfiles() vnodes and softdeps are flushed in a loop.
But if they sleep, it is not guaranteed that all vnodes have been
flushed when the softdep worklist flush reports that nothing has
to be done.
The solution is to do a final vnode flush after the softdep worklist
has been flushed. Then the dirty list is empty and the final check
in dounmount_leaf() does not panic with "unmount: dangling vnode".
OK mikeb@
|
|
ok tom, kettenis, deraadt
|
|
Found the hard way by deraadt@
|
|
Data transfers use a little bit less CPU time now.
Tested by me on RT5209 and on RTS525A by jcs@
ok mpi@ visa@
|
|
This makes it easier to match dmesg output to the device tree.
ok patrick@
|
|
it with a simple ifdef that uses the inline keyword if being compiled
with clang and doesn't use the keyword if being compiled with gcc.
ok kettenis@
|
|
Exposes per-CPU counters to real parrallelism.
ok visa@, bluhm@, jca@
|
|
Fix regression introdruced in previous.
Found the hardway and diff from weerd@
|
|
ok visa@
|
|
the same time breaks the sparc64 build due to a very similar issue. To
make it work, stop returning a huge struct and instead make the caller
pass a pointer to the struct it allocated only once on the stack.
Similar diff from sashan@
"yeah just make it work, and add it to the mop list" deraadt@
|
|
wrap it.
|
|
ok mpi@, jcs@
|
|
ok patrick@, jsg@
|
|
needed
problem noted by naddy@
|
|
not memcpy().
'oh oh' deraadt@
|
|
|
|
|
|
divert-packet. Bring back the loop over the global list to find
the divert socket.
|
|
It used a loop over the global list divbtable that would be hard
to make MP safe. The port net/dnsfilter does not work without this,
it should be converted to divert-to. Neither other ports nor base
use this filter feature.
ports checked by sthen@; OK mpi@ benno@
|
|
All other bit fields use hex as well as the MNT_ constants. Change
this to hex to make it cosistent and less confusing.
OK krw@
|
|
If frequency of an invariant (non-stop) time stamp counter is measured
using an independent working timecounter that has a known frequency, we
can assume that the measured TSC frequency is as good as the resolution
of the timecounter that we use to perform the measurement. This lets us
switch from this high quality but expensive source to the cheaper TSC
without sacrificing precision on a wide range of modern CPUs.
From Adam Steen <adam@adamsteen.com.au> with tweaks from reyk@ and myself.
Tested by brynet@, sthen@ and others, OK mlarkin, sthen
|
|
as 32 bit linux guests do.
ok pd@
|
|
prevents the video output problem on ThinkPad X121e and so on.
diff from Klemens Nanni, test by Andrew Daugherity
|
|
Debug builds only.
|
|
found with grep 'KASSERT.* = '; OK kettenis@
|
|
sensor to the ugold(4) driver.
Patch by Jan Klemkow
Tested by Remi Locherer
ok mpi@ patrick@
|
|
warning during linux guest bootup relating to fpu save state size.
|
|
mode bits. From Brad Smith.
|
|
wrong place, no functional change.
|
|
|