freebsd-nq/sys
Konstantin Belousov 83b22b05e6 Introduce curpcb magic variable, similar to curthread, which is MD
amd64.  It is implemented as __pure2 inline with non-volatile asm read
from pcpu, which allows a compiler to cache its results.

Convert most PCPU_GET(pcb) and curthread->td_pcb accesses into curpcb.

Note that __curthread() uses magic value 0 as an offsetof(struct pcpu,
pc_curthread). It seems to be done this way due to machine/pcpu.h
needs to be processed before sys/pcpu.h, because machine/pcpu.h
contributes machine-depended fields to the struct pcpu definition. As
result, machine/pcpu.h cannot use struct pcpu yet.

The __curpcb() also uses a magic constant instead of offsetof(struct
pcpu, pc_curpcb) for the same reason. The constants are now defined as
symbols and CTASSERTs are added to ensure that future KBI changes do
not break the code.

Requested and reviewed by: bde
MFC after:    3 weeks
2012-07-19 19:09:12 +00:00
..
amd64 Introduce curpcb magic variable, similar to curthread, which is MD 2012-07-19 19:09:12 +00:00
arm Move unmask IRQ function call up to nexus device level. 2012-07-17 03:18:12 +00:00
boot Use the pin number rather than the hybrid pin number + name. 2012-07-15 05:35:14 +00:00
bsm
cam Fix some typos in r238595. 2012-07-18 12:41:09 +00:00
cddl Change UL to ULL since time is 32 bits. 2012-07-17 14:36:40 +00:00
compat Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
conf Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar 2012-07-18 05:21:34 +00:00
contrib Use M_NOWAIT while holding the pf giant lock. 2012-07-15 19:10:00 +00:00
crypto
ddb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
dev Revert the use of BUS_DMA_ALLOCNOW when creating the DMA tag for user 2012-07-19 14:43:46 +00:00
fs Simply error handling by moving the allocation of np down to where it is 2012-07-16 22:07:29 +00:00
gdb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
geom Add missing free. 2012-07-18 07:26:20 +00:00
gnu/fs Fix build: 2012-05-23 06:49:50 +00:00
i386 Add a clts() wrapper around the 'clts' instruction to <machine/cpufunc.h> 2012-07-09 20:55:39 +00:00
ia64 Move PCPU initialization to a new function called cpu_pcpu_setup(). 2012-07-08 18:00:22 +00:00
isa
kern Fix several reads beyond the mapped first page of the binary in the 2012-07-19 11:15:53 +00:00
kgssapi
libkern Fix unloading of libiconv module. 2012-06-11 17:42:39 +00:00
mips Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar 2012-07-18 05:21:34 +00:00
modules Merge ACPICA 20120711. 2012-07-11 23:18:35 +00:00
net Permit changing MTU in 6to4 relay. 2012-07-15 17:44:27 +00:00
net80211 Add a check for dynamic OFDM/CCK channel types. 2012-07-01 04:25:49 +00:00
netatalk Fix typos 2012-02-28 15:07:05 +00:00
netgraph Make radix lookup on src and dst flow addresses optional 2012-06-18 13:56:36 +00:00
netinet Plug a reference leak: before doing 'goto again' we need to unref 2012-07-18 08:58:30 +00:00
netinet6 Changes which improve compilation if neither INET nor INET6 is defined. 2012-07-15 20:16:17 +00:00
netipsec
netipx
netnatm
netncp Add characters mapping for codepages used in Germany. 2012-06-01 03:59:08 +00:00
netsmb Change a duplicated check to clarify that we really want to set a 2012-07-10 21:02:59 +00:00
nfs
nfsclient PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfsserver
nlm
ofed Fix clang warning when compiling iw_cxgb. 2012-06-25 16:52:27 +00:00
opencrypto
pc98 Partially revert r217515 so that the mem_range_softc variable is always 2012-07-09 20:42:08 +00:00
pci intpm: add ATI IXP400 pci id 2012-04-16 10:33:46 +00:00
powerpc Avoid recursion on the pvh global lock in the aim oea pmap. 2012-07-10 22:10:21 +00:00
rpc
security Check vplabel for NULL before dereferencing it. Fixes a panic 2012-05-03 15:51:34 +00:00
sparc64 Switch back to the 4BSD scheduler for now. There is some more or less 2012-06-30 14:55:36 +00:00
sys Implement F_DUPFD_CLOEXEC command for fcntl(2), specified by SUSv4. 2012-07-19 10:22:54 +00:00
teken
tools
ufs Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
vm Do not restart scan of the inactive queue when non-inactive page is 2012-07-18 21:47:50 +00:00
x86 Add support for the XSAVEOPT instruction use. Our XSAVE/XRSTOR usage 2012-07-14 15:48:30 +00:00
xdr
xen blkif interface comment cleanups. No functional changes 2012-02-29 17:47:01 +00:00
Makefile Add sys/ofed to the 'make cscope' target. 2012-03-20 18:05:15 +00:00