Author: mav
Date: Thu Jul 17 21:16:52 2014
New Revision: 268808
URL: http://svnweb.freebsd.org/changeset/base/268808

Log:
  Increase maximal number of SCSI ports in CTL from 32 to 128.
  
  After I gave each iSCSI target its own port, the old limit appeared to be
  not so big.  This change almost proportionally increases per-LUN memory
  use, but it is still three times better then it was before r268807.
  
  MFC after:    2 weeks

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_io.h
  head/sys/cam/ctl/ctl_ioctl.h
  head/sys/cam/ctl/ctl_private.h
  head/sys/cam/ctl/ctl_tpc.c

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c      Thu Jul 17 20:28:51 2014        (r268807)
+++ head/sys/cam/ctl/ctl.c      Thu Jul 17 21:16:52 2014        (r268808)
@@ -8208,8 +8208,7 @@ ctl_pro_preempt(struct ctl_softc *softc,
                         && lun->res_type != SPR_TYPE_EX_AC_AR)
                                lun->pr_res_idx = residx;
                        else
-                               lun->pr_res_idx =
-                                       CTL_PR_ALL_REGISTRANTS;
+                               lun->pr_res_idx = CTL_PR_ALL_REGISTRANTS;
 
                        persis_io.hdr.nexus = ctsio->io_hdr.nexus;
                        persis_io.hdr.msg_type = CTL_MSG_PERS_ACTION;

Modified: head/sys/cam/ctl/ctl_io.h
==============================================================================
--- head/sys/cam/ctl/ctl_io.h   Thu Jul 17 20:28:51 2014        (r268807)
+++ head/sys/cam/ctl/ctl_io.h   Thu Jul 17 21:16:52 2014        (r268808)
@@ -407,7 +407,7 @@ struct ctl_pr_info {
        ctl_pr_action        action;
        uint8_t              sa_res_key[8];
        uint8_t              res_type;
-       uint16_t             residx;
+       uint32_t             residx;
 };
 
 struct ctl_ha_msg_hdr {

Modified: head/sys/cam/ctl/ctl_ioctl.h
==============================================================================
--- head/sys/cam/ctl/ctl_ioctl.h        Thu Jul 17 20:28:51 2014        
(r268807)
+++ head/sys/cam/ctl/ctl_ioctl.h        Thu Jul 17 21:16:52 2014        
(r268808)
@@ -70,7 +70,7 @@
 /*
  * Maximum number of ports registered at one time.
  */
-#define        CTL_MAX_PORTS           32
+#define        CTL_MAX_PORTS           128
 
 /*
  * Maximum number of initiators we support.

Modified: head/sys/cam/ctl/ctl_private.h
==============================================================================
--- head/sys/cam/ctl/ctl_private.h      Thu Jul 17 20:28:51 2014        
(r268807)
+++ head/sys/cam/ctl/ctl_private.h      Thu Jul 17 21:16:52 2014        
(r268808)
@@ -355,8 +355,8 @@ struct ctl_per_res_info {
        uint8_t  registered;
 };
 
-#define CTL_PR_ALL_REGISTRANTS  0xFFFF
-#define CTL_PR_NO_RESERVATION   0xFFF0
+#define CTL_PR_ALL_REGISTRANTS  0xFFFFFFFF
+#define CTL_PR_NO_RESERVATION   0xFFFFFFF0
 
 struct ctl_devid {
        int             len;
@@ -398,7 +398,7 @@ struct ctl_lun {
        struct ctl_per_res_info         per_res[2*CTL_MAX_INITIATORS];
        unsigned int                    PRGeneration;
        int                             pr_key_count;
-       uint16_t                        pr_res_idx;
+       uint32_t                        pr_res_idx;
        uint8_t                         res_type;
        uint8_t                         write_buffer[262144];
        struct ctl_devid                *lun_devid;

Modified: head/sys/cam/ctl/ctl_tpc.c
==============================================================================
--- head/sys/cam/ctl/ctl_tpc.c  Thu Jul 17 20:28:51 2014        (r268807)
+++ head/sys/cam/ctl/ctl_tpc.c  Thu Jul 17 21:16:52 2014        (r268808)
@@ -89,7 +89,7 @@ struct tpc_io {
 struct tpc_list {
        uint8_t                  service_action;
        int                      init_port;
-       uint16_t                 init_idx;
+       uint32_t                 init_idx;
        uint32_t                 list_id;
        uint8_t                  flags;
        uint8_t                 *params;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to