On Wed, Dec 28, 2011 at 2:49 PM, Alexander Motin <m...@freebsd.org> wrote:
> Author: mav
> Date: Wed Dec 28 22:49:28 2011
> New Revision: 228939
> URL: http://svn.freebsd.org/changeset/base/228939
>
> Log:
>  Set maximum I/O size for mps(4) to MAXPHYS. Looking into the code, I see
>  no reason why it should be limited to 64K of DFLTPHYS. DMA data tag is any
>  way set to allow MAXPHYS, S/G lists (chain elements) are sufficient and
>  overflows are also handled. On my tests even 1MB I/Os are working fine.
>
>  Reviewed by:  ken@
>
> Modified:
>  head/sys/dev/mps/mps_sas.c
>
> Modified: head/sys/dev/mps/mps_sas.c
> ==============================================================================
> --- head/sys/dev/mps/mps_sas.c  Wed Dec 28 22:18:53 2011        (r228938)
> +++ head/sys/dev/mps/mps_sas.c  Wed Dec 28 22:49:28 2011        (r228939)
> @@ -937,6 +937,7 @@ mpssas_action(struct cam_sim *sim, union
>                cpi->transport_version = 0;
>                cpi->protocol = PROTO_SCSI;
>                cpi->protocol_version = SCSI_REV_SPC;
> +               cpi->maxio = MAXPHYS;
>                cpi->ccb_h.status = CAM_REQ_CMP;
>                break;
>        }

sorry for the late reply, but can we make in into tunable please? i
have in local tree

--- mps_sas.c.orig      2011-11-17 02:05:04.000000000 -0800
+++ mps_sas.c   2011-12-28 16:05:10.000000000 -0800
@@ -121,6 +121,11 @@

 MALLOC_DEFINE(M_MPSSAS, "MPSSAS", "MPS SAS memory");

+int mps_maxio = MAXPHYS;
+TUNABLE_INT("hw.mps.maxio", &mps_maxio);
+SYSCTL_INT(_hw_mps, OID_AUTO, maxio, CTLFLAG_RD, &mps_maxio, 0,
+       "CAM maxio override\n");
+
 static __inline int mpssas_set_lun(uint8_t *lun, u_int ccblun);
 static struct mpssas_target * mpssas_alloc_target(struct mpssas_softc *,
     struct mpssas_target *);
@@ -938,6 +943,7 @@
                cpi->protocol = PROTO_SCSI;
                cpi->protocol_version = SCSI_REV_SPC;
                cpi->ccb_h.status = CAM_REQ_CMP;
+               cpi->maxio = mps_maxio;
                break;
        }
        case XPT_GET_TRAN_SETTINGS:

thanks,
max
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to