From 39e850d17b7beec78d5d2fb2bef1c8b935ac0ca8 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Wed, 10 Jul 2019 07:18:01 -0700 Subject: [PATCH] iscsi: Remove cpumask from portals Connections will soon be assigned to poll groups, which will be dynamically moved between CPU cores based on load. It no longer makes sense to restrict certain portal groups to specific cpu cores in this model. Change-Id: Iee983d75febc9797aa60021c5bc0680335e895cd Signed-off-by: Ben Walker Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463358 Reviewed-by: Shuhei Matsumoto Reviewed-by: Changpeng Liu Tested-by: SPDK CI Jenkins --- CHANGELOG.md | 5 + etc/spdk/iscsi.conf.in | 9 +- lib/iscsi/conn.c | 6 -- lib/iscsi/conn.h | 1 - lib/iscsi/iscsi_rpc.c | 8 +- lib/iscsi/portal_grp.c | 39 ++------ lib/iscsi/portal_grp.h | 5 +- scripts/config_converter.py | 2 - scripts/rpc.py | 8 +- scripts/rpc/iscsi.py | 2 +- scripts/spdkcli/ui_node_iscsi.py | 12 +-- test/iscsi_tgt/rpc_config/rpc_config.py | 6 +- .../match_files/spdkcli_iscsi.test.match | 6 +- .../lib/iscsi/portal_grp.c/portal_grp_ut.c | 97 +++---------------- 14 files changed, 51 insertions(+), 155 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ef71728c..323a28ccd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## v19.10: (Upcoming Release) +### iSCSI + +Portals may no longer be associated with a cpumask. The scheduling of +connections is moving to a more dynamic model. + ## v19.07: ### ftl diff --git a/etc/spdk/iscsi.conf.in b/etc/spdk/iscsi.conf.in index 19b8d58be..e53063d68 100644 --- a/etc/spdk/iscsi.conf.in +++ b/etc/spdk/iscsi.conf.in @@ -71,13 +71,10 @@ # determine which targets are accessible over each portal group. # Up to 1024 portal directives are allowed. These define the network # portals of the portal group. The user must specify a IP address -# for each network portal, and may optionally specify a port and -# a cpumask. If the port is omitted, 3260 will be used. Cpumask will -# be used to set the processor affinity of the iSCSI connection -# through the portal. If the cpumask is omitted, cpumask will be -# set to all available processors. +# for each network portal, and may optionally specify a port. +# If the port is omitted, 3260 will be used. # Syntax: -# Portal [:[@]] +# Portal [:] [PortalGroup1] Portal DA1 192.168.2.21:3260 Portal DA2 192.168.2.22:3260@0xF diff --git a/lib/iscsi/conn.c b/lib/iscsi/conn.c index bd7be487b..48ec99c74 100644 --- a/lib/iscsi/conn.c +++ b/lib/iscsi/conn.c @@ -229,7 +229,6 @@ spdk_iscsi_conn_construct(struct spdk_iscsi_portal *portal, conn->pg_tag = portal->group->tag; conn->portal_host = strdup(portal->host); conn->portal_port = strdup(portal->port); - conn->portal_cpumask = &portal->cpumask; conn->sock = sock; conn->state = ISCSI_CONN_STATE_INVALID; @@ -1445,11 +1444,6 @@ spdk_iscsi_conn_schedule(struct spdk_iscsi_conn *conn) lcore = g_next_core; g_next_core = spdk_env_get_next_core(g_next_core); - - if (!spdk_cpuset_get_cpu(&conn->portal->cpumask, lcore)) { - continue; - } - break; } diff --git a/lib/iscsi/conn.h b/lib/iscsi/conn.h index f32a6bcad..7bbd5cb78 100644 --- a/lib/iscsi/conn.h +++ b/lib/iscsi/conn.h @@ -82,7 +82,6 @@ struct spdk_iscsi_conn { int pg_tag; char *portal_host; char *portal_port; - struct spdk_cpuset *portal_cpumask; uint32_t lcore; struct spdk_sock *sock; struct spdk_iscsi_sess *sess; diff --git a/lib/iscsi/iscsi_rpc.c b/lib/iscsi/iscsi_rpc.c index 75a6617d3..197dd10df 100644 --- a/lib/iscsi/iscsi_rpc.c +++ b/lib/iscsi/iscsi_rpc.c @@ -799,9 +799,13 @@ spdk_rpc_add_portal_group(struct spdk_jsonrpc_request *request, goto out; } for (i = 0; i < req.portal_list.num_portals; i++) { + if (req.portal_list.portals[i].cpumask) { + SPDK_WARNLOG("A portal was specified with a CPU mask which is no longer supported.\n"); + SPDK_WARNLOG("Ignoring the cpumask.\n"); + } + portal = spdk_iscsi_portal_create(req.portal_list.portals[i].host, - req.portal_list.portals[i].port, - req.portal_list.portals[i].cpumask); + req.portal_list.portals[i].port); if (portal == NULL) { SPDK_ERRLOG("portal_create failed\n"); goto out; diff --git a/lib/iscsi/portal_grp.c b/lib/iscsi/portal_grp.c index 8e364b956..1fa996995 100644 --- a/lib/iscsi/portal_grp.c +++ b/lib/iscsi/portal_grp.c @@ -109,10 +109,9 @@ iscsi_portal_find_by_addr(const char *host, const char *port) /* Assumes caller allocated host and port strings on the heap */ struct spdk_iscsi_portal * -spdk_iscsi_portal_create(const char *host, const char *port, const char *cpumask) +spdk_iscsi_portal_create(const char *host, const char *port) { struct spdk_iscsi_portal *p = NULL, *tmp; - int rc; assert(host != NULL); assert(port != NULL); @@ -144,21 +143,6 @@ spdk_iscsi_portal_create(const char *host, const char *port, const char *cpumask memcpy(p->port, port, strlen(port)); - if (cpumask != NULL) { - rc = spdk_app_parse_core_mask(cpumask, &p->cpumask); - if (rc < 0) { - SPDK_ERRLOG("cpumask (%s) is invalid\n", cpumask); - goto error_out; - } - if (spdk_cpuset_count(&p->cpumask) == 0) { - SPDK_ERRLOG("cpumask (%s) does not contain core mask (0x%s)\n", - cpumask, spdk_cpuset_fmt(spdk_app_get_core_mask())); - goto error_out; - } - } else { - spdk_cpuset_copy(&p->cpumask, spdk_app_get_core_mask()); - } - p->sock = NULL; p->group = NULL; /* set at a later time by caller */ p->acceptor_poller = NULL; @@ -337,9 +321,12 @@ iscsi_parse_portal(const char *portalstring, struct spdk_iscsi_portal **ip, cpumask[len] = '\0'; } } + if (cpumask) { + SPDK_WARNLOG("The iSCSI target no longer supports setting a per-portal cpumask.\n"); + } if (!dry_run) { - *ip = spdk_iscsi_portal_create(host, port, cpumask); + *ip = spdk_iscsi_portal_create(host, port); if (!*ip) { goto error_out; } @@ -634,20 +621,17 @@ static const char *portal_group_section = \ "# determine which targets are accessible over each portal group.\n" "# Up to 1024 Portal directives are allowed. These define the network\n" "# portals of the portal group. The user must specify a IP address\n" - "# for each network portal, and may optionally specify a port and\n" - "# a cpumask. If the port is omitted, 3260 will be used. Cpumask will\n" - "# be used to set the processor affinity of the iSCSI connection\n" - "# through the portal. If the cpumask is omitted, cpumask will be\n" - "# set to all available processors.\n" + "# for each network portal, and may optionally specify a port.\n" + "# If the port is omitted, 3260 will be used\n" "# Syntax:\n" - "# Portal [:[@]]\n"; + "# Portal [:]\n"; #define PORTAL_GROUP_TMPL \ "[PortalGroup%d]\n" \ " Comment \"Portal%d\"\n" #define PORTAL_TMPL \ -" Portal DA1 %s:%s@0x%s\n" +" Portal DA1 %s:%s\n" void spdk_iscsi_portal_grps_config_text(FILE *fp) @@ -665,8 +649,7 @@ spdk_iscsi_portal_grps_config_text(FILE *fp) /* Dump portals */ TAILQ_FOREACH(p, &pg->head, per_pg_tailq) { if (NULL == p) { continue; } - fprintf(fp, PORTAL_TMPL, p->host, p->port, - spdk_cpuset_fmt(&p->cpumask)); + fprintf(fp, PORTAL_TMPL, p->host, p->port); } } } @@ -687,8 +670,6 @@ iscsi_portal_grp_info_json(struct spdk_iscsi_portal_grp *pg, spdk_json_write_named_string(w, "host", portal->host); spdk_json_write_named_string(w, "port", portal->port); - spdk_json_write_named_string_fmt(w, "cpumask", "0x%s", - spdk_cpuset_fmt(&portal->cpumask)); spdk_json_write_object_end(w); } diff --git a/lib/iscsi/portal_grp.h b/lib/iscsi/portal_grp.h index f220657c7..e1dcb17a4 100644 --- a/lib/iscsi/portal_grp.h +++ b/lib/iscsi/portal_grp.h @@ -36,7 +36,6 @@ #define SPDK_PORTAL_GRP_H #include "spdk/conf.h" -#include "spdk/cpuset.h" #define MAX_PORTAL_ADDR 256 #define MAX_PORTAL_PORT 32 @@ -48,7 +47,6 @@ struct spdk_iscsi_portal { char host[MAX_PORTAL_ADDR + 1]; char port[MAX_PORTAL_PORT + 1]; struct spdk_sock *sock; - struct spdk_cpuset cpumask; struct spdk_poller *acceptor_poller; TAILQ_ENTRY(spdk_iscsi_portal) per_pg_tailq; TAILQ_ENTRY(spdk_iscsi_portal) g_tailq; @@ -63,8 +61,7 @@ struct spdk_iscsi_portal_grp { /* SPDK iSCSI Portal Group management API */ -struct spdk_iscsi_portal *spdk_iscsi_portal_create(const char *host, const char *port, - const char *cpumask); +struct spdk_iscsi_portal *spdk_iscsi_portal_create(const char *host, const char *port); void spdk_iscsi_portal_destroy(struct spdk_iscsi_portal *p); struct spdk_iscsi_portal_grp *spdk_iscsi_portal_grp_create(int tag); diff --git a/scripts/config_converter.py b/scripts/config_converter.py index 3c7f18a08..c15a3932b 100755 --- a/scripts/config_converter.py +++ b/scripts/config_converter.py @@ -529,8 +529,6 @@ def get_iscsi_portal_group_json(config, name): if "@" in items[1]: portal['port'] =\ items[1].rsplit(":", 1)[1].split("@")[0] - portal['cpumask'] =\ - items[1].rsplit(":", 1)[1].split("@")[1] else: portal['port'] = items[1].rsplit(":", 1)[1] portals.append(portal) diff --git a/scripts/rpc.py b/scripts/rpc.py index ee1b78952..55b180992 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -890,7 +890,8 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse else: port = split_port_cpumask[0] cpumask = split_port_cpumask[1] - portals.append({'host': ip, 'port': port, 'cpumask': cpumask}) + portals.append({'host': ip, 'port': port}) + print("WARNING: Specifying a portal group with a CPU mask is no longer supported. Ignoring it.") rpc.iscsi.add_portal_group( args.client, portals=portals, @@ -899,9 +900,8 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse p = subparsers.add_parser('add_portal_group', help='Add a portal group') p.add_argument( 'tag', help='Portal group tag (unique, integer > 0)', type=int) - p.add_argument('portal_list', help="""List of portals in host:port@cpumask format, separated by whitespace - (cpumask is optional and can be skipped) - Example: '192.168.100.100:3260 192.168.100.100:3261 192.168.100.100:3262@0x1""") + p.add_argument('portal_list', help="""List of portals in host:port format, separated by whitespace + Example: '192.168.100.100:3260 192.168.100.100:3261 192.168.100.100:3262""") p.set_defaults(func=add_portal_group) def add_initiator_group(args): diff --git a/scripts/rpc/iscsi.py b/scripts/rpc/iscsi.py index c72ba93f0..2c0c24104 100644 --- a/scripts/rpc/iscsi.py +++ b/scripts/rpc/iscsi.py @@ -362,7 +362,7 @@ def add_portal_group(client, portals, tag): """Add a portal group. Args: - portals: List of portals, e.g. [{'host': ip, 'port': port}] or [{'host': ip, 'port': port, 'cpumask': cpumask}] + portals: List of portals, e.g. [{'host': ip, 'port': port}] tag: Initiator group tag (unique, integer > 0) Returns: diff --git a/scripts/spdkcli/ui_node_iscsi.py b/scripts/spdkcli/ui_node_iscsi.py index d0f9929c9..afa7bdf54 100644 --- a/scripts/spdkcli/ui_node_iscsi.py +++ b/scripts/spdkcli/ui_node_iscsi.py @@ -298,7 +298,7 @@ class UIPortalGroups(UINode): """Add a portal group. Args: - portals: List of portals e.g. ip:port@cpumask ip2:port2 + portals: List of portals e.g. ip:port ip2:port2 tag: Portal group tag (unique, integer > 0) """ portals = [] @@ -313,7 +313,7 @@ class UIPortalGroups(UINode): host, port = host.rsplit(":", -1) portals.append({'host': host, 'port': port}) if cpumask: - portals[-1]['cpumask'] = cpumask + print("WARNING: Specifying a CPU mask for portal groups is no longer supported. Ignoring.") tag = self.ui_eval_param(tag, "number", None) self.get_root().construct_portal_group(tag=tag, portals=portals) @@ -355,16 +355,16 @@ class UIPortalGroup(UINode): def refresh(self): self._children = set([]) for portal in self.pg.portals: - UIPortal(portal['host'], portal['port'], portal['cpumask'], self) + UIPortal(portal['host'], portal['port'], self) def summary(self): return "Portals: %d" % len(self.pg.portals), None class UIPortal(UINode): - def __init__(self, host, port, cpumask, parent): - UINode.__init__(self, "host=%s, port=%s, cpumask=%s" % ( - host, port, cpumask), parent) + def __init__(self, host, port, parent): + UINode.__init__(self, "host=%s, port=%s" % ( + host, port), parent) self.refresh() diff --git a/test/iscsi_tgt/rpc_config/rpc_config.py b/test/iscsi_tgt/rpc_config/rpc_config.py index 15a345a18..2172e3b76 100755 --- a/test/iscsi_tgt/rpc_config/rpc_config.py +++ b/test/iscsi_tgt/rpc_config/rpc_config.py @@ -199,7 +199,7 @@ def verify_portal_groups_rpc_methods(rpc_py, rpc_param): for idx, value in enumerate(lo_ip): # The portal group tag must start at 1 tag = idx + 1 - rpc.add_portal_group(tag, "{}:{}@{}".format(value, rpc_param['port'], rpc_param['cpumask'])) + rpc.add_portal_group(tag, "{}:{}".format(value, rpc_param['port'])) output = rpc.get_portal_groups() jsonvalues = json.loads(output) verify(len(jsonvalues) == tag, 1, @@ -211,8 +211,6 @@ def verify_portal_groups_rpc_methods(rpc_py, rpc_param): "host value is {}, expected {}".format(value['portals'][0]['host'], rpc_param['target_ip'])) verify(value['portals'][0]['port'] == str(rpc_param['port']), 1, "port value is {}, expected {}".format(value['portals'][0]['port'], str(rpc_param['port']))) - verify(value['portals'][0]['cpumask'] == format(rpc_param['cpumask'], '#x'), 1, - "cpumask value is {}, expected {}".format(value['portals'][0]['cpumask'], format(rpc_param['cpumask'], '#x'))) tag_list.append(value['tag']) verify(value['tag'] == idx + 1, 1, "tag value is {}, expected {}".format(value['tag'], idx + 1)) @@ -231,8 +229,6 @@ def verify_portal_groups_rpc_methods(rpc_py, rpc_param): "host value is {}, expected {}".format(jvalue['portals'][0]['host'], lo_ip[idx + jidx + 1])) verify(jvalue['portals'][0]['port'] == str(rpc_param['port']), 1, "port value is {}, expected {}".format(jvalue['portals'][0]['port'], str(rpc_param['port']))) - verify(jvalue['portals'][0]['cpumask'] == format(rpc_param['cpumask'], '#x'), 1, - "cpumask value is {}, expected {}".format(jvalue['portals'][0]['cpumask'], format(rpc_param['cpumask'], '#x'))) verify(jvalue['tag'] != value or jvalue['tag'] == tag_list[idx + jidx + 1], 1, "tag value is {}, expected {} and not {}".format(jvalue['tag'], tag_list[idx + jidx + 1], value)) diff --git a/test/spdkcli/match_files/spdkcli_iscsi.test.match b/test/spdkcli/match_files/spdkcli_iscsi.test.match index f67819819..ffb314921 100644 --- a/test/spdkcli/match_files/spdkcli_iscsi.test.match +++ b/test/spdkcli/match_files/spdkcli_iscsi.test.match @@ -32,10 +32,10 @@ o- iscsi ....................................................................... o- iscsi_connections ............................................................................................ [Connections: 0] o- portal_groups .............................................................................................. [Portal groups: 2] | o- portal_group1 .................................................................................................. [Portals: 2] - | | o- host=127.0.0.1, port=3261, cpumask=0x3 .............................................................................. [...] - | | o- host=127.0.0.1, port=3263, cpumask=0x1 .............................................................................. [...] + | | o- host=127.0.0.1, port=3261 ........................................................................................... [...] + | | o- host=127.0.0.1, port=3263 ........................................................................................... [...] | o- portal_group2 .................................................................................................. [Portals: 1] - | o- host=127.0.0.1, port=3262, cpumask=0x3 .............................................................................. [...] + | o- host=127.0.0.1, port=3262 ........................................................................................... [...] o- target_nodes ................................................................................................ [Target nodes: 2] o- iqn.2016-06.io.spdk:Target0 ......................................................................... [Id: 0, QueueDepth: 64] | o- auths ........................................ [disable_chap: True, require_chap: False, mutual_chap: False, chap_group: 1] diff --git a/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c b/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c index d8246203e..016efa52f 100644 --- a/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c +++ b/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c @@ -67,9 +67,8 @@ portal_create_ipv4_normal_case(void) const char *host = "192.168.2.0"; const char *port = "3260"; - const char *cpumask = "1"; - p = spdk_iscsi_portal_create(host, port, cpumask); + p = spdk_iscsi_portal_create(host, port); CU_ASSERT(p != NULL); spdk_iscsi_portal_destroy(p); @@ -83,9 +82,8 @@ portal_create_ipv6_normal_case(void) const char *host = "[2001:ad6:1234::]"; const char *port = "3260"; - const char *cpumask = "1"; - p = spdk_iscsi_portal_create(host, port, cpumask); + p = spdk_iscsi_portal_create(host, port); CU_ASSERT(p != NULL); spdk_iscsi_portal_destroy(p); @@ -99,9 +97,8 @@ portal_create_ipv4_wildcard_case(void) const char *host = "*"; const char *port = "3260"; - const char *cpumask = "1"; - p = spdk_iscsi_portal_create(host, port, cpumask); + p = spdk_iscsi_portal_create(host, port); CU_ASSERT(p != NULL); spdk_iscsi_portal_destroy(p); @@ -115,44 +112,14 @@ portal_create_ipv6_wildcard_case(void) const char *host = "[*]"; const char *port = "3260"; - const char *cpumask = "1"; - p = spdk_iscsi_portal_create(host, port, cpumask); + p = spdk_iscsi_portal_create(host, port); CU_ASSERT(p != NULL); spdk_iscsi_portal_destroy(p); CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); } -static void -portal_create_cpumask_null_case(void) -{ - struct spdk_iscsi_portal *p; - - const char *host = "192.168.2.0"; - const char *port = "3260"; - const char *cpumask = NULL; - - p = spdk_iscsi_portal_create(host, port, cpumask); - CU_ASSERT(p != NULL); - - spdk_iscsi_portal_destroy(p); - CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); -} - -static void -portal_create_cpumask_no_bit_on_case(void) -{ - struct spdk_iscsi_portal *p; - - const char *host = "192.168.2.0"; - const char *port = "3260"; - const char *cpumask = "0"; - - p = spdk_iscsi_portal_create(host, port, cpumask); - CU_ASSERT(p == NULL); -} - static void portal_create_twice_case(void) { @@ -160,12 +127,11 @@ portal_create_twice_case(void) const char *host = "192.168.2.0"; const char *port = "3260"; - const char *cpumask = "1"; - p1 = spdk_iscsi_portal_create(host, port, cpumask); + p1 = spdk_iscsi_portal_create(host, port); CU_ASSERT(p1 != NULL); - p2 = spdk_iscsi_portal_create(host, port, cpumask); + p2 = spdk_iscsi_portal_create(host, port); CU_ASSERT(p2 == NULL); spdk_iscsi_portal_destroy(p1); @@ -178,26 +144,18 @@ parse_portal_ipv4_normal_case(void) const char *string = "192.168.2.0:3260@1"; const char *host_str = "192.168.2.0"; const char *port_str = "3260"; - struct spdk_cpuset *cpumask_val; struct spdk_iscsi_portal *p = NULL; int rc; - cpumask_val = spdk_cpuset_alloc(); - SPDK_CU_ASSERT_FATAL(cpumask_val != NULL); - - spdk_cpuset_set_cpu(cpumask_val, 0, true); - rc = iscsi_parse_portal(string, &p, 0); CU_ASSERT(rc == 0); SPDK_CU_ASSERT_FATAL(p != NULL); CU_ASSERT(strcmp(p->host, host_str) == 0); CU_ASSERT(strcmp(p->port, port_str) == 0); - CU_ASSERT(spdk_cpuset_equal(&p->cpumask, cpumask_val)); spdk_iscsi_portal_destroy(p); CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); - spdk_cpuset_free(cpumask_val); } static void @@ -206,26 +164,17 @@ parse_portal_ipv6_normal_case(void) const char *string = "[2001:ad6:1234::]:3260@1"; const char *host_str = "[2001:ad6:1234::]"; const char *port_str = "3260"; - struct spdk_cpuset *cpumask_val; struct spdk_iscsi_portal *p = NULL; int rc; - cpumask_val = spdk_cpuset_alloc(); - SPDK_CU_ASSERT_FATAL(cpumask_val != NULL); - - spdk_cpuset_set_cpu(cpumask_val, 0, true); - rc = iscsi_parse_portal(string, &p, 0); CU_ASSERT(rc == 0); SPDK_CU_ASSERT_FATAL(p != NULL); CU_ASSERT(strcmp(p->host, host_str) == 0); CU_ASSERT(strcmp(p->port, port_str) == 0); - CU_ASSERT(spdk_cpuset_equal(&p->cpumask, cpumask_val)); spdk_iscsi_portal_destroy(p); CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); - - spdk_cpuset_free(cpumask_val); } static void @@ -234,18 +183,14 @@ parse_portal_ipv4_skip_cpumask_case(void) const char *string = "192.168.2.0:3260"; const char *host_str = "192.168.2.0"; const char *port_str = "3260"; - struct spdk_cpuset *cpumask_val; struct spdk_iscsi_portal *p = NULL; int rc; - cpumask_val = spdk_app_get_core_mask(); - rc = iscsi_parse_portal(string, &p, 0); CU_ASSERT(rc == 0); SPDK_CU_ASSERT_FATAL(p != NULL); CU_ASSERT(strcmp(p->host, host_str) == 0); CU_ASSERT(strcmp(p->port, port_str) == 0); - CU_ASSERT(spdk_cpuset_equal(&p->cpumask, cpumask_val)); spdk_iscsi_portal_destroy(p); CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); @@ -257,18 +202,14 @@ parse_portal_ipv6_skip_cpumask_case(void) const char *string = "[2001:ad6:1234::]:3260"; const char *host_str = "[2001:ad6:1234::]"; const char *port_str = "3260"; - struct spdk_cpuset *cpumask_val; struct spdk_iscsi_portal *p = NULL; int rc; - cpumask_val = spdk_app_get_core_mask(); - rc = iscsi_parse_portal(string, &p, 0); CU_ASSERT(rc == 0); SPDK_CU_ASSERT_FATAL(p != NULL); CU_ASSERT(strcmp(p->host, host_str) == 0); CU_ASSERT(strcmp(p->port, port_str) == 0); - CU_ASSERT(spdk_cpuset_equal(&p->cpumask, cpumask_val)); spdk_iscsi_portal_destroy(p); CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); @@ -280,18 +221,14 @@ parse_portal_ipv4_skip_port_and_cpumask_case(void) const char *string = "192.168.2.0"; const char *host_str = "192.168.2.0"; const char *port_str = "3260"; - struct spdk_cpuset *cpumask_val; struct spdk_iscsi_portal *p = NULL; int rc; - cpumask_val = spdk_app_get_core_mask(); - rc = iscsi_parse_portal(string, &p, 0); CU_ASSERT(rc == 0); SPDK_CU_ASSERT_FATAL(p != NULL); CU_ASSERT(strcmp(p->host, host_str) == 0); CU_ASSERT(strcmp(p->port, port_str) == 0); - CU_ASSERT(spdk_cpuset_equal(&p->cpumask, cpumask_val)); spdk_iscsi_portal_destroy(p); CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); @@ -303,18 +240,14 @@ parse_portal_ipv6_skip_port_and_cpumask_case(void) const char *string = "[2001:ad6:1234::]"; const char *host_str = "[2001:ad6:1234::]"; const char *port_str = "3260"; - struct spdk_cpuset *cpumask_val; struct spdk_iscsi_portal *p = NULL; int rc; - cpumask_val = spdk_app_get_core_mask(); - rc = iscsi_parse_portal(string, &p, 0); CU_ASSERT(rc == 0); SPDK_CU_ASSERT_FATAL(p != NULL); CU_ASSERT(strcmp(p->host, host_str) == 0); CU_ASSERT(strcmp(p->port, port_str) == 0); - CU_ASSERT(spdk_cpuset_equal(&p->cpumask, cpumask_val)); spdk_iscsi_portal_destroy(p); CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); @@ -328,12 +261,11 @@ portal_grp_register_unregister_case(void) int rc; const char *host = "192.168.2.0"; const char *port = "3260"; - const char *cpumask = "1"; pg1 = spdk_iscsi_portal_grp_create(1); CU_ASSERT(pg1 != NULL); - p = spdk_iscsi_portal_create(host, port, cpumask); + p = spdk_iscsi_portal_create(host, port); CU_ASSERT(p != NULL); spdk_iscsi_portal_grp_add_portal(pg1, p); @@ -360,12 +292,11 @@ portal_grp_register_twice_case(void) int rc; const char *host = "192.168.2.0"; const char *port = "3260"; - const char *cpumask = "1"; pg1 = spdk_iscsi_portal_grp_create(1); CU_ASSERT(pg1 != NULL); - p = spdk_iscsi_portal_create(host, port, cpumask); + p = spdk_iscsi_portal_create(host, port); CU_ASSERT(p != NULL); spdk_iscsi_portal_grp_add_portal(pg1, p); @@ -401,13 +332,12 @@ portal_grp_add_delete_case(void) const char *host = "192.168.2.0"; const char *port = "3260"; - const char *cpumask = "1"; /* internal of add_portal_group */ pg1 = spdk_iscsi_portal_grp_create(1); CU_ASSERT(pg1 != NULL); - p = spdk_iscsi_portal_create(host, port, cpumask); + p = spdk_iscsi_portal_create(host, port); CU_ASSERT(p != NULL); spdk_iscsi_portal_grp_add_portal(pg1, p); @@ -445,7 +375,6 @@ portal_grp_add_delete_twice_case(void) const char *host = "192.168.2.0"; const char *port1 = "3260", *port2 = "3261"; - const char *cpumask = "1"; thread = spdk_thread_create(NULL, NULL); spdk_set_thread(thread); @@ -454,7 +383,7 @@ portal_grp_add_delete_twice_case(void) pg1 = spdk_iscsi_portal_grp_create(1); CU_ASSERT(pg1 != NULL); - p = spdk_iscsi_portal_create(host, port1, cpumask); + p = spdk_iscsi_portal_create(host, port1); CU_ASSERT(p != NULL); spdk_iscsi_portal_grp_add_portal(pg1, p); @@ -470,7 +399,7 @@ portal_grp_add_delete_twice_case(void) pg2 = spdk_iscsi_portal_grp_create(2); CU_ASSERT(pg2 != NULL); - p = spdk_iscsi_portal_create(host, port2, cpumask); + p = spdk_iscsi_portal_create(host, port2); CU_ASSERT(p != NULL); spdk_iscsi_portal_grp_add_portal(pg2, p); @@ -520,10 +449,6 @@ main(int argc, char **argv) portal_create_ipv4_wildcard_case) == NULL || CU_add_test(suite, "portal create ipv6 wildcard case", portal_create_ipv6_wildcard_case) == NULL - || CU_add_test(suite, "portal create cpumask NULL case", - portal_create_cpumask_null_case) == NULL - || CU_add_test(suite, "portal create cpumask no bit on case", - portal_create_cpumask_no_bit_on_case) == NULL || CU_add_test(suite, "portal create twice case", portal_create_twice_case) == NULL || CU_add_test(suite, "parse portal ipv4 normal case",