freebsd-dev/sys
Roger Pau Monné ee74891fc7 blkfront: add support for unmapped IO
Using unmapped IO is really beneficial when running inside of a VM,
since it avoids IPIs to other vCPUs in order to invalidate the
mappings.

This patch adds unmapped IO support to blkfront. The following tests
results have been obtained when running on a Xen host without HAP:

PVHVM
     3165.84 real      6354.17 user      4483.32 sys
PVHVM with unmapped IO
     2099.46 real      4624.52 user      2967.38 sys

This is because when running using shadow page tables TLB flushes and
range invalidations are much more expensive, so using unmapped IO
provides a very important performance boost.

Sponsored by:	Citrix Systems R&D
MFC after:	2 weeks
X-MFC-with:	r289834
2015-10-23 15:46:42 +00:00
..
amd64 Add CLFLUSHOPT instruction wrappers. 2015-10-23 11:45:38 +00:00
arm Remove unclear comment about address truncation in busdma. Add (hopefully much clearer) comment at declaration of PHYS_TO_VM_PAGE(). 2015-10-23 12:03:25 +00:00
arm64 arm64: remove exception instruction length assertion 2015-10-23 15:24:00 +00:00
boot Change gptldr from relocating 0xfff1 bytes of boot2 to relocating 0x20000 2015-10-08 15:38:34 +00:00
bsm
cam Fix LUN disable in CAM broken at r285155. 2015-10-23 10:39:43 +00:00
cddl Rename remaining linux32 symbols such as linux_sysent[] and 2015-10-22 21:28:20 +00:00
compat Fix build for the KTR-enabled kernels. 2015-10-23 11:41:55 +00:00
conf Add libkern ffsll() for parity with flsll() 2015-10-22 20:28:37 +00:00
contrib Rename linuxapi[.ko] into linuxkpi[.ko], to reflect that it is a 2015-10-22 09:50:45 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
dev blkfront: add support for unmapped IO 2015-10-23 15:46:42 +00:00
fs Ensure that when a blockable open of fifo returns success, a valid 2015-09-20 21:18:33 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Remove compatibility shims for legacy ATA device names. 2015-10-11 13:01:51 +00:00
gnu Fixing a memory leak on module unloading. 2015-09-11 22:43:35 +00:00
i386 Add CLFLUSHOPT instruction wrappers. 2015-10-23 11:45:38 +00:00
isa
kern Sysctl: Add common support for U8, U16 types 2015-10-22 23:03:06 +00:00
kgssapi
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips Commit the right board file - use the right name + hints. 2015-10-22 15:15:45 +00:00
modules Move dtrace/opensolaris/zfs module option to common section 2015-10-23 12:59:54 +00:00
net if_tap: correct typo in sysctl description (Enably) 2015-10-21 19:56:16 +00:00
net80211 net80211: move ieee80211_free_node() call on error from ic_raw_xmit() to ieee80211_raw_output(). 2015-10-12 04:55:20 +00:00
netgraph Add support for PPP-Max-Payload PPPoE tag (RFC4638). 2015-09-11 09:15:27 +00:00
netinet Use __func__ instead of __FUNCTION__. 2015-10-19 11:17:54 +00:00
netinet6 Invoke lle_event for new entry iff it has lladdr set. 2015-10-04 19:10:27 +00:00
netipsec Take extra reference to security policy before calling crypto_dispatch(). 2015-09-30 08:16:33 +00:00
netnatm
netpfil pf: Fix TSO issues 2015-10-14 16:21:41 +00:00
netsmb
nfs Wait up to 10 seconds for late-initializing network interfaces to arrive. 2015-09-26 13:55:55 +00:00
nfsclient
nfsserver
nlm
ofed Build fix for non-i386 and non-amd64 platforms. 2015-10-23 14:52:05 +00:00
opencrypto Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
pc98 Remove compatibility shims for legacy ATA device names. 2015-10-11 13:01:51 +00:00
powerpc Use IIC_EBUSBSY and IIC_BUSERR status values consistantly across all drivers. 2015-10-09 22:49:50 +00:00
rpc Increase group limit for kerberized NFSv4 2015-09-26 16:30:16 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Add support for weak symbols to the kernel linkers. It means that 2015-09-20 01:27:59 +00:00
sys Sysctl: Add common support for U8, U16 types 2015-10-22 23:03:06 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs Do not relocate extents to make them contiguous if the underlying drive can do 2015-10-16 03:06:02 +00:00
vm Fix capitalization 2015-10-23 12:06:06 +00:00
x86 x86/dma_bounce: rework _bus_dmamap_load_ma implementation 2015-10-23 15:39:59 +00:00
xdr
xen xen: Code cleanup and small bug fixes 2015-10-21 10:44:07 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00