freebsd-dev/sys
Kashyap D Desai 2a1d3bcde8 To improve RAID 1/10 Write performance, OS drivers need to issue the
required Write IOs as Fast Path IOs (after the appropriate checks
allowing Fast Path to be used) to the appropriate physical drives
(translated from the OS logical IO) and wait for all Write IOs to complete.

Design: A write IO on RAID volume will be examined if it can be sent in
Fast Path based on IO size and starting LBA and ending LBA falling on to
a Physical Drive boundary. If the underlying RAID volume is a RAID 1/10,
driver issues two fast path write IOs one for each corresponding physical
drive after computing the corresponding start LBA for each physical drive.
Both write IOs will have the same payload and are posted to HW such that
replies land in the same reply queue.

If there are no resources available for sending two IOs, driver will send
the original IO from upper layer to RAID volume through the Firmware.

When both IOs are completed by HW, the resources will be released
and SCSI IO completion handler will be called.

Submitted by: Sumit Saxena <sumit.saxena@broadcom.com>
Reviewed by:  Kashyap Desai <Kashyap.Desai@broadcom.com>
Approved by:  ken
MFC after:  3 days
Sponsored by:   Broadcom Inc
2018-12-14 08:02:44 +00:00
..
amd64 amd64: stop re-reading curpc on subyte/suword 2018-12-08 04:53:08 +00:00
arm mv_thermal: Add thermal driver for AP806 and CP110 thermal sensor 2018-12-12 22:33:05 +00:00
arm64 mv_thermal: Add thermal driver for AP806 and CP110 thermal sensor 2018-12-12 22:33:05 +00:00
bsm
cam nda(4) fix check for Dataset Management support 2018-12-13 13:25:37 +00:00
cddl dtrace: fix userspace access on boxes with SMAP 2018-12-13 20:09:38 +00:00
compat Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
conf mv_thermal: Add thermal driver for AP806 and CP110 thermal sensor 2018-12-12 22:33:05 +00:00
contrib MFV: r342049 2018-12-14 00:40:38 +00:00
crypto Generalize AES iov optimization 2018-12-13 04:40:53 +00:00
ddb ddb: Enable 'thread <address>' 2018-10-20 20:45:49 +00:00
dev To improve RAID 1/10 Write performance, OS drivers need to issue the 2018-12-14 08:02:44 +00:00
dts arm64: allwinner: Fix pwm dtso 2018-12-12 21:10:34 +00:00
fs Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
gdb
geom gmirror: Remove a last-minute INVARIANTS breakage in r341840 2018-12-12 18:13:56 +00:00
gnu Update our devicetree to 4.19 for arm and arm64 2018-11-10 21:02:32 +00:00
i386 Merge ^/head r340918 through r341763. 2018-12-09 11:39:45 +00:00
isa Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
kern vfs: mostly depessimize NDINIT_ALL 2018-12-14 03:55:08 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
mips Correctly implemenet atomic_swap_long for mips64. 2018-12-13 00:42:26 +00:00
modules arm64: allwinner: Add DTSO for pwm and r_pwm 2018-12-12 21:02:22 +00:00
net Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph ng_source(4): correction after the change r340617 2018-11-27 04:05:38 +00:00
netinet Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
netinet6 Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
netipsec Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
netpfil pf: Fix endless loop on NAT exhaustion with sticky-address 2018-12-12 20:15:06 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed ipoib: Notify on modify QP failure only when relevant 2018-12-05 13:27:17 +00:00
opencrypto Plug memory leak for AES_*_NIST_GMAC algorithms. 2018-12-13 08:59:51 +00:00
powerpc powerpc/booke: Change KERNBASE to be physical load address 2018-12-13 05:07:39 +00:00
riscv Remove an unused malloc(9) type. 2018-12-11 02:16:27 +00:00
rpc Set SO_SNDTIMEO in the client side krpc when CLSET_TIMEOUT is done. 2018-07-20 12:03:16 +00:00
security Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
sparc64 Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
sys vfs: mostly depessimize NDINIT_ALL 2018-12-14 03:55:08 +00:00
teken Implement ECMA-48 "REP", some Linuxen have started emitting them recently. 2018-10-21 08:29:36 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools Use ${ECHO} in dtb/dtbo build, pass in from dtb.mk for -s 2018-11-09 18:56:40 +00:00
ufs Continuing efforts to provide hardening of FFS. This change adds a 2018-12-11 22:14:37 +00:00
vm Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
x86 Fix the PAE kernel gcc build. 2018-12-11 16:49:01 +00:00
xdr
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00
Makefile