freebsd-dev/sys
Justin T. Gibbs daf6545e61 Enforce stronger semantics for bus-dma alignment (currently only on amd64).
Now all contiguous regions returned from bus-dma will be aligned to the
alignment constraint and all but the last region are guaranteed to be
a multiple of the alignment in length.  This also means that the relative
alignment of two adjacent bytes in the I/O stream have a difference of 1
even if they are not physically contiguous.

The old code, when needing to perform a copy in order to align data, only
copied the amount of data needed to reach the next page boundary.  This
often left an unaligned end to the segment.  Drivers such as Xen's blkfront
can't deal with such segments.

The downside to this approach is that, once an unaligned region is encountered,
the remainder of the I/O will be bounced.  However, bouncing should be rare.
It is typically caused by non-performance critical userland programs that
don't bother to align their I/O buffers (e.g. bsdlabel).  In-kernel I/O
buffers are always aligned to at least a page boundary.

Reviewed by:	scottl
MFC after:      2 weeks
2010-02-22 17:03:45 +00:00
..
amd64 Enforce stronger semantics for bus-dma alignment (currently only on amd64). 2010-02-22 17:03:45 +00:00
arm Fix previous commit: led_func() doesn't exist, it should be fled_cb(). 2010-02-22 14:49:52 +00:00
boot Some machines can not only consist of CPUs running at different speeds 2010-02-20 23:24:19 +00:00
bsm Add audit events for process descriptor system calls, which will appear in 2009-09-29 21:25:59 +00:00
cam Improve output for controllers that doesn't report SATA speed. 2010-02-22 10:45:40 +00:00
cddl Use mf and not mf.a. The latter doesn't force memory ordering and 2010-02-22 01:24:34 +00:00
compat No need to include security/mac/mac_framework.h here. 2010-02-18 22:26:01 +00:00
conf Use KERNLOADADDR instead of hardcoded address. This is required to be able to 2010-02-22 01:48:38 +00:00
contrib Uuencode the rt2870 firmware into ascii like the other firmware blobs. 2010-01-29 03:35:01 +00:00
crypto
ddb Add a space before printing 'thread pid ...' to match the space before 2010-02-12 19:52:51 +00:00
dev Update mxge to support IFCAP_VLAN_HWTSO. 2010-02-22 16:57:03 +00:00
fs Fix common misspelling of hierarchy 2010-02-20 10:19:19 +00:00
gdb
geom Please welcome HAST - Highly Avalable Storage. 2010-02-18 23:16:19 +00:00
gnu Bring in the ext2fs work done by Aditya Sarawgi during and after Google Summer 2010-01-14 14:30:54 +00:00
i386 - fix bootstrap for variable KVA_PAGES 2010-02-21 01:13:34 +00:00
ia64 Prefer I-units and M-units for nop instructions. This works around 2010-02-22 01:23:41 +00:00
isa Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
kern Decompose the most lousy named file in sys/kern; kern_subr.c. 2010-02-21 19:53:33 +00:00
kgssapi
libkern Merge from head at r201628. 2010-01-06 05:58:07 +00:00
mips Fix another fo-pa of mine... duplicate patches should 2010-02-21 17:27:20 +00:00
modules Hook up nfs_common missed in r203968. 2010-02-19 21:11:40 +00:00
net Fix constant assignment for netisr protocol information sysctl. 2010-02-22 16:16:16 +00:00
net80211 Ensure that tkip_mixing_phase1() is called after a rekeying event when 2010-02-08 18:16:59 +00:00
netatalk
netgraph Declare a new EVENTHANDLER called iflladdr_event which signals that the L2 2010-01-18 20:34:00 +00:00
netinet Upon virtual network stack teardown properly release the TCP syncache 2010-02-20 21:45:04 +00:00
netinet6 No need to include security/mac/mac_framework.h here. 2010-02-18 22:30:37 +00:00
netipsec Correct typo in comment. 2010-02-18 22:34:29 +00:00
netipx
netnatm
netncp
netsmb Don't print out a message on loading a module. 'kldload -v' and 'kldstat 2009-09-10 18:33:08 +00:00
nfs Factor out the code shared between NFS client and server into its own 2010-02-16 20:00:21 +00:00
nfsclient Simplify code a bit. 2010-02-18 22:10:55 +00:00
nfsserver Factor out the code shared between NFS client and server into its own 2010-02-16 20:00:21 +00:00
nlm Handle GRANTED_RES messages more gracefully: Send along a grant cookie 2009-10-07 19:50:14 +00:00
opencrypto Add comments trying to explain what bad things happen here, i.e. 2010-01-09 15:43:47 +00:00
pc98 Adjust style (following the already existing rules) for the newly 2010-02-15 23:44:48 +00:00
pci Add initial support for RTL8103E PCIe fastethernet. 2010-01-27 17:49:27 +00:00
powerpc Allow user programs to execute mfpvr instructions. Linux allows this, and 2010-02-22 14:17:23 +00:00
rpc Replace the static NGROUPS=NGROUPS_MAX+1=1024 with a dynamic 2010-01-12 07:49:34 +00:00
security Make sure we convert audit records that were produced as the result of the 2010-01-31 22:31:01 +00:00
sparc64 Some machines can not only consist of CPUs running at different speeds 2010-02-21 09:25:53 +00:00
sun4v Adjust style (following the already existing rules) for the newly 2010-02-15 23:44:48 +00:00
sys Add proper const keywords to sysctl(3) parameters. 2010-02-21 13:57:02 +00:00
teken Fall back to ASCII codepoints for box drawing. 2010-02-08 09:16:59 +00:00
tools Output a comment on top of each generated file explaining where it came 2009-10-25 09:48:21 +00:00
ufs When ffs_realloccg() failed to allocate bigger fragment and, because 2010-02-13 10:34:50 +00:00
vm Remove write-only variable. 2010-02-22 16:00:56 +00:00
xdr
xen don't hold spin lock across free 2010-02-21 01:12:18 +00:00
Makefile