]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
To improve RAID 1/10 Write performance, OS drivers need to issue the
authorkadesai <kadesai@FreeBSD.org>
Fri, 14 Dec 2018 08:02:44 +0000 (08:02 +0000)
committerkadesai <kadesai@FreeBSD.org>
Fri, 14 Dec 2018 08:02:44 +0000 (08:02 +0000)
commit514f953e0ed5afc369f3aa4897092ccb1e607a4e
tree3fae87cb856a7d2aebd0a9553a5a918b800c5211
parent8384082de5d168aee0b89150c3e3c4708b83663e
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
sys/dev/mrsas/mrsas.c
sys/dev/mrsas/mrsas.h
sys/dev/mrsas/mrsas_cam.c
sys/dev/mrsas/mrsas_fp.c