]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Detect sequential Write IOs and pass the hint that it is part of sequential
authorkadesai <kadesai@FreeBSD.org>
Fri, 14 Dec 2018 08:01:49 +0000 (08:01 +0000)
committerkadesai <kadesai@FreeBSD.org>
Fri, 14 Dec 2018 08:01:49 +0000 (08:01 +0000)
commit8384082de5d168aee0b89150c3e3c4708b83663e
tree7dae7979ac95bc7e8a439b8f87e72f85b23cb3b0
parentf3d059705f8336473613de2fc5a3b94ffa59a499
Detect sequential Write IOs and pass the hint that it is part of sequential
stream to help HBA Firmware do the Full Stripe Writes. For read IOs on
certain RAID volumes like Read Ahead volumes,this will help driver to
send it to Firmware even if the IOs can potentially be sent to
hardware directly (called fast path) bypassing firmware.

Design: 8 streams are maintained per RAID volume as per the combined
firmware/driver design. When there is no stream detected the LRU stream
is used for next potential stream and LRU/MRU map is updated to make this
as MRU stream. Every time a stream is detected the MRU map
is updated to make the current stream as MRU stream.

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