svn commit: r254971 - stable/9/sys/dev/isp
Kenneth D. Merry
ken at FreeBSD.org
Tue Aug 27 20:34:12 UTC 2013
Author: ken
Date: Tue Aug 27 20:34:11 2013
New Revision: 254971
URL: http://svnweb.freebsd.org/changeset/base/254971
Log:
MFC 254372:
Export the maxio field in the CAM XPT_PATH_INQ CCB in the isp(4)
driver.
This tells consumers up the stack the maximum I/O size that the
controller can handle.
The I/O size is bounded by the number of scatter/gather segments
the controller can handle and the page size. For an amd64 system,
it works out to around 5MB.
Reviewed by: mjacob
Sponsored by: Spectra Logic
Modified:
stable/9/sys/dev/isp/isp_freebsd.c
Modified: stable/9/sys/dev/isp/isp_freebsd.c
==============================================================================
--- stable/9/sys/dev/isp/isp_freebsd.c Tue Aug 27 19:47:03 2013 (r254970)
+++ stable/9/sys/dev/isp/isp_freebsd.c Tue Aug 27 20:34:11 2013 (r254971)
@@ -5447,6 +5447,11 @@ isp_action(struct cam_sim *sim, union cc
cpi->max_target = ISP_MAX_TARGETS(isp) - 1;
cpi->max_lun = ISP_MAX_LUNS(isp) - 1;
cpi->bus_id = cam_sim_bus(sim);
+ if (isp->isp_osinfo.sixtyfourbit)
+ cpi->maxio = (ISP_NSEG64_MAX - 1) * PAGE_SIZE;
+ else
+ cpi->maxio = (ISP_NSEG_MAX - 1) * PAGE_SIZE;
+
bus = cam_sim_bus(xpt_path_sim(cpi->ccb_h.path));
if (IS_FC(isp)) {
fcparam *fcp = FCPARAM(isp, bus);
More information about the svn-src-stable-9
mailing list