X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_member%2Frte_member.c;h=e0e7f127e36e9d12e177d228297da3b5e97554ef;hb=c3ff0ac70acb1f4a1b22fa24160fdc3be4597724;hp=0c4c14470218f39b516dde95800e4b5cf5f6625e;hpb=369991d997e4abdee355e19ffbb41a4d246cafa2;p=dpdk.git diff --git a/lib/librte_member/rte_member.c b/lib/librte_member/rte_member.c index 0c4c144702..e0e7f127e3 100644 --- a/lib/librte_member/rte_member.c +++ b/lib/librte_member/rte_member.c @@ -4,11 +4,13 @@ #include +#include #include #include #include #include #include +#include #include "rte_member.h" #include "rte_member_ht.h" @@ -31,13 +33,13 @@ rte_member_find_existing(const char *name) member_list = RTE_TAILQ_CAST(rte_member_tailq.head, rte_member_list); - rte_rwlock_read_lock(RTE_EAL_TAILQ_RWLOCK); + rte_mcfg_tailq_read_lock(); TAILQ_FOREACH(te, member_list, next) { setsum = (struct rte_member_setsum *) te->data; if (strncmp(name, setsum->name, RTE_MEMBER_NAMESIZE) == 0) break; } - rte_rwlock_read_unlock(RTE_EAL_TAILQ_RWLOCK); + rte_mcfg_tailq_read_unlock(); if (te == NULL) { rte_errno = ENOENT; @@ -55,17 +57,17 @@ rte_member_free(struct rte_member_setsum *setsum) if (setsum == NULL) return; member_list = RTE_TAILQ_CAST(rte_member_tailq.head, rte_member_list); - rte_rwlock_write_lock(RTE_EAL_TAILQ_RWLOCK); + rte_mcfg_tailq_write_lock(); TAILQ_FOREACH(te, member_list, next) { if (te->data == (void *)setsum) break; } if (te == NULL) { - rte_rwlock_write_unlock(RTE_EAL_TAILQ_RWLOCK); + rte_mcfg_tailq_write_unlock(); return; } TAILQ_REMOVE(member_list, te, next); - rte_rwlock_write_unlock(RTE_EAL_TAILQ_RWLOCK); + rte_mcfg_tailq_write_unlock(); switch (setsum->type) { case RTE_MEMBER_TYPE_HT: @@ -104,10 +106,10 @@ rte_member_create(const struct rte_member_parameters *params) member_list = RTE_TAILQ_CAST(rte_member_tailq.head, rte_member_list); - rte_rwlock_write_lock(RTE_EAL_TAILQ_RWLOCK); + rte_mcfg_tailq_write_lock(); TAILQ_FOREACH(te, member_list, next) { - setsum = (struct rte_member_setsum *) te->data; + setsum = te->data; if (strncmp(params->name, setsum->name, RTE_MEMBER_NAMESIZE) == 0) break; @@ -125,14 +127,14 @@ rte_member_create(const struct rte_member_parameters *params) } /* Create a new setsum structure */ - setsum = (struct rte_member_setsum *) rte_zmalloc_socket(params->name, + setsum = rte_zmalloc_socket(params->name, sizeof(struct rte_member_setsum), RTE_CACHE_LINE_SIZE, params->socket_id); if (setsum == NULL) { RTE_MEMBER_LOG(ERR, "Create setsummary failed\n"); goto error_unlock_exit; } - snprintf(setsum->name, sizeof(setsum->name), "%s", params->name); + strlcpy(setsum->name, params->name, sizeof(setsum->name)); setsum->type = params->type; setsum->socket_id = params->socket_id; setsum->key_len = params->key_len; @@ -158,12 +160,13 @@ rte_member_create(const struct rte_member_parameters *params) te->data = (void *)setsum; TAILQ_INSERT_TAIL(member_list, te, next); - rte_rwlock_write_unlock(RTE_EAL_TAILQ_RWLOCK); + rte_mcfg_tailq_write_unlock(); return setsum; error_unlock_exit: - rte_rwlock_write_unlock(RTE_EAL_TAILQ_RWLOCK); - rte_member_free(setsum); + rte_free(te); + rte_free(setsum); + rte_mcfg_tailq_write_unlock(); return NULL; } @@ -296,12 +299,9 @@ rte_member_reset(const struct rte_member_setsum *setsum) } } -RTE_INIT(librte_member_init_log); - -static void -librte_member_init_log(void) +RTE_INIT(librte_member_init_log) { - librte_member_logtype = rte_log_register("librte.member"); + librte_member_logtype = rte_log_register("lib.member"); if (librte_member_logtype >= 0) rte_log_set_level(librte_member_logtype, RTE_LOG_DEBUG); }