NetBSD/sys
skrll 9f2441fc32 Part II of ad's aarch64 performance improvements (cpu_switch.S bugs are
all mine)

- Use tpidr_el1 to hold curlwp and not curcpu, because curlwp is accessed
  much more often by MI code.  It also makes curlwp preemption safe and
  allows aarch64_curlwp() to be a const function (curcpu must be volatile).

- Make ASTs operate per-LWP rather than per-CPU, otherwise sometimes LWPs
  can see spurious ASTs (which doesn't cause a problem, it just means some
  time may be wasted).

- Use plain stores to set/clear ASTs.  Make sure ASTs are always set on the
  same CPU as the target LWP, and delivered via IPI if posted from a remote
  CPU so that they are resolved quickly.

- Add some cache line padding to struct cpu_info, to match x86.

- Add a memory barrier in a couple of places where ci_curlwp is set.  This
  is needed whenever an LWP that is resuming on the CPU could hold an
  adaptive mutex.  The barrier needs to drain the CPU's store buffer, so
  that the update to ci_curlwp becomes globally visible before the LWP can
  resume and call mutex_exit().  By my reading of the ARM docs it looks like
  the instruction I used will do the right thing, but I'm not 100% sure.
2020-08-12 13:19:35 +00:00
..
altq
arch Part II of ad's aarch64 performance improvements (cpu_switch.S bugs are 2020-08-12 13:19:35 +00:00
coda
compat PR/55547: Dan Plassche: Fix BSD/OS binary emulation. 2020-08-08 19:08:48 +00:00
conf Remove references to BRIDGE_IPF, it is now compiled in by default. 2020-08-01 08:20:47 +00:00
crypto Add hack to compile aes_ccm_tag() with -O0 for m68k for GCC8. 2020-08-10 06:27:29 +00:00
ddb db_get_line - raw access to the DDB command line. 2020-07-29 23:29:42 +00:00
dev Fix checking return value of atomic_cas_uint(). 2020-08-12 09:13:46 +00:00
dist/pf Clean up _LKM --> _MODULE leftovers. 2020-08-10 10:59:33 +00:00
dtb
external merge conflicts 2020-08-02 20:25:54 +00:00
fs Replace the */ I accidentally removed in the last commit 2020-07-24 05:26:37 +00:00
gdbscripts
kern pcu_available_p is only used in KASSERT(), fix non-diagnostic build. 2020-08-07 18:46:00 +00:00
lib
miscfs Output offsets in hex for UVMHIST. 2020-08-10 11:09:15 +00:00
modules Upgrade NVMM to WARNS=5. 2020-08-05 10:33:01 +00:00
net Use a more informative panic message. 2020-08-02 07:19:39 +00:00
net80211 Omit now-unused function. 2020-07-28 15:41:26 +00:00
netatalk
netbt
netcan
netinet icmp6: Remove __packed attribute from icmp6 structures 2020-07-27 14:52:55 +00:00
netinet6 icmp6: Remove __packed attribute from icmp6 structures 2020-07-27 14:52:55 +00:00
netipsec
netmpls
nfs
opencrypto
rump Define kthread_fpu_enter/exit for rump. 2020-08-01 22:30:57 +00:00
secmodel Clean up _LKM --> _MODULE leftovers. 2020-08-10 10:59:33 +00:00
stand
sys NetBSD 9.99.70 - changes to video(4). 2020-08-10 19:29:13 +00:00
ufs Mark lfs vnodes with VV_LOCKSWORK, same as ffs. 2020-08-04 03:00:47 +00:00
uvm s/pmaphist/maphist/ for now 2020-08-11 06:54:14 +00:00
Makefile