tailq: get rid of broken reserve api
authorDavid Marchand <david.marchand@6wind.com>
Wed, 4 Mar 2015 21:50:05 +0000 (22:50 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 10 Mar 2015 10:51:12 +0000 (11:51 +0100)
The "reserve" macros and functions do not check if the requested entry is free.
They do nothing more than the lookup function (which itself "creates" entries
...).
The rte_tailq api is marked as "internal use" in documentation and these macros
are only used in test application, so just get rid of them.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
app/test/test_tailq.c
lib/librte_eal/bsdapp/eal/rte_eal_version.map
lib/librte_eal/common/eal_common_tailqs.c
lib/librte_eal/common/include/rte_tailq.h
lib/librte_eal/linuxapp/eal/rte_eal_version.map

index b0f9a78..56656f0 100644 (file)
@@ -60,7 +60,7 @@ test_tailq_create(void)
        unsigned i;
 
        /* create a first tailq and check its non-null */
-       d_head = RTE_TAILQ_RESERVE_BY_IDX(DEFAULT_TAILQ, rte_tailq_entry_head);
+       d_head = RTE_TAILQ_LOOKUP_BY_IDX(DEFAULT_TAILQ, rte_tailq_entry_head);
        if (d_head == NULL)
                do_return("Error allocating dummy_q0\n");
 
@@ -69,13 +69,13 @@ test_tailq_create(void)
        TAILQ_INSERT_TAIL(d_head, &d_elem, next);
 
        /* try allocating dummy_q0 again, and check for failure */
-       if (RTE_TAILQ_RESERVE_BY_IDX(DEFAULT_TAILQ, rte_tailq_entry_head) == NULL)
+       if (RTE_TAILQ_LOOKUP_BY_IDX(DEFAULT_TAILQ, rte_tailq_entry_head) == NULL)
                do_return("Error, non-null result returned when attemption to "
                                "re-allocate a tailq\n");
 
        /* now fill up the tailq slots available and check we get an error */
        for (i = RTE_TAILQ_NUM; i < RTE_MAX_TAILQ; i++){
-               if ((d_head = RTE_TAILQ_RESERVE_BY_IDX(i,
+               if ((d_head = RTE_TAILQ_LOOKUP_BY_IDX(i,
                                rte_tailq_entry_head)) == NULL)
                        break;
        }
@@ -111,54 +111,12 @@ test_tailq_lookup(void)
        return 0;
 }
 
-/* test for deprecated functions - mainly for coverage */
-static int
-test_tailq_deprecated(void)
-{
-       struct rte_tailq_entry_head *d_head;
-
-       /* since TAILQ_RESERVE is not able to create new tailqs,
-        * we should find an existing one (IOW, RTE_TAILQ_RESERVE behaves identical
-        * to RTE_TAILQ_LOOKUP).
-        *
-        * PCI_RESOURCE_LIST tailq is guaranteed to
-        * be present in any DPDK app. */
-       d_head = RTE_TAILQ_RESERVE("PCI_RESOURCE_LIST", rte_tailq_entry_head);
-       if (d_head == NULL)
-               do_return("Error finding PCI_RESOURCE_LIST\n");
-
-       d_head = RTE_TAILQ_LOOKUP("PCI_RESOURCE_LIST", rte_tailq_entry_head);
-       if (d_head == NULL)
-               do_return("Error finding PCI_RESOURCE_LIST\n");
-
-       /* try doing that with non-existent names */
-       d_head = RTE_TAILQ_RESERVE("random name", rte_tailq_entry_head);
-       if (d_head != NULL)
-               do_return("Non-existent tailq found!\n");
-
-       d_head = RTE_TAILQ_LOOKUP("random name", rte_tailq_entry_head);
-       if (d_head != NULL)
-               do_return("Non-existent tailq found!\n");
-
-       /* try doing the same with NULL names */
-       d_head = RTE_TAILQ_RESERVE(NULL, rte_tailq_entry_head);
-       if (d_head != NULL)
-               do_return("NULL tailq found!\n");
-
-       d_head = RTE_TAILQ_LOOKUP(NULL, rte_tailq_entry_head);
-       if (d_head != NULL)
-               do_return("NULL tailq found!\n");
-
-       return 0;
-}
-
 static int
 test_tailq(void)
 {
        int ret = 0;
        ret |= test_tailq_create();
        ret |= test_tailq_lookup();
-       ret |= test_tailq_deprecated();
        return ret;
 }
 
index d83524d..c94fe8e 100644 (file)
@@ -45,8 +45,6 @@ DPDK_2.0 {
        rte_eal_remote_launch;
        rte_eal_tailq_lookup;
        rte_eal_tailq_lookup_by_idx;
-       rte_eal_tailq_reserve;
-       rte_eal_tailq_reserve_by_idx;
        rte_eal_wait_lcore;
        rte_exit;
        rte_get_hpet_cycles;
index a61e3f3..975ee74 100644 (file)
@@ -94,18 +94,6 @@ rte_eal_tailq_lookup_by_idx(const unsigned tailq_idx)
        return &mcfg->tailq_head[tailq_idx];
 }
 
-struct rte_tailq_head *
-rte_eal_tailq_reserve(const char *name)
-{
-       return rte_eal_tailq_lookup(name);
-}
-
-inline struct rte_tailq_head *
-rte_eal_tailq_reserve_by_idx(const unsigned tailq_idx)
-{
-       return rte_eal_tailq_lookup_by_idx(tailq_idx);
-}
-
 void
 rte_dump_tailq(FILE *f)
 {
index 6ac4b9b..6b7278c 100644 (file)
@@ -75,45 +75,6 @@ struct rte_tailq_head {
 #define RTE_TAILQ_CAST(tailq_entry, struct_name) \
        (struct struct_name *)&(tailq_entry)->tailq_head
 
-/**
- * Utility macro to make reserving a tailqueue for a particular struct easier.
- *
- * @param name
- *   The name to be given to the tailq - used by lookup to find it later
- *
- * @param struct_name
- *   The name of the list type we are using. (Generally this is the same as the
- *   first parameter passed to TAILQ_HEAD macro)
- *
- * @return
- *   The return value from rte_eal_tailq_reserve, typecast to the appropriate
- *   structure pointer type.
- *   NULL on error, since the tailq_head is the first
- *   element in the rte_tailq_head structure.
- */
-#define RTE_TAILQ_RESERVE(name, struct_name) \
-       RTE_TAILQ_CAST(rte_eal_tailq_reserve(name), struct_name)
-
-/**
- * Utility macro to make reserving a tailqueue for a particular struct easier.
- *
- * @param idx
- *   The tailq idx defined in rte_tail_t to be given to the tail queue.
- *       - used by lookup to find it later
- *
- * @param struct_name
- *   The name of the list type we are using. (Generally this is the same as the
- *   first parameter passed to TAILQ_HEAD macro)
- *
- * @return
- *   The return value from rte_eal_tailq_reserve, typecast to the appropriate
- *   structure pointer type.
- *   NULL on error, since the tailq_head is the first
- *   element in the rte_tailq_head structure.
- */
-#define RTE_TAILQ_RESERVE_BY_IDX(idx, struct_name) \
-       RTE_TAILQ_CAST(rte_eal_tailq_reserve_by_idx(idx), struct_name)
-
 /**
  * Utility macro to make looking up a tailqueue for a particular struct easier.
  *
@@ -152,30 +113,6 @@ struct rte_tailq_head {
 #define RTE_TAILQ_LOOKUP_BY_IDX(idx, struct_name) \
        RTE_TAILQ_CAST(rte_eal_tailq_lookup_by_idx(idx), struct_name)
 
-/**
- * Reserve a slot in the tailq list for a particular tailq header
- * Note: this function, along with rte_tailq_lookup, is not multi-thread safe,
- * and both these functions should only be called from a single thread at a time
- *
- * @param name
- *   The name to be given to the tail queue.
- * @return
- *   A pointer to the newly reserved tailq entry
- */
-struct rte_tailq_head *rte_eal_tailq_reserve(const char *name);
-
-/**
- * Reserve a slot in the tailq list for a particular tailq header
- * Note: this function, along with rte_tailq_lookup, is not multi-thread safe,
- * and both these functions should only be called from a single thread at a time
- *
- * @param idx
- *   The tailq idx defined in rte_tail_t to be given to the tail queue.
- * @return
- *   A pointer to the newly reserved tailq entry
- */
-struct rte_tailq_head *rte_eal_tailq_reserve_by_idx(const unsigned idx);
-
 /**
  * Dump tail queues to the console.
  *
@@ -187,10 +124,10 @@ void rte_dump_tailq(FILE *f);
 /**
  * Lookup for a tail queue.
  *
- * Get a pointer to a tail queue header of an already reserved tail
+ * Get a pointer to a tail queue header of a tail
  * queue identified by the name given as an argument.
- * Note: this function, along with rte_tailq_reserve, is not multi-thread safe,
- * and both these functions should only be called from a single thread at a time
+ * Note: this function is not multi-thread safe, and should only be called from
+ * a single thread at a time
  *
  * @param name
  *   The name of the queue.
@@ -202,10 +139,10 @@ struct rte_tailq_head *rte_eal_tailq_lookup(const char *name);
 /**
  * Lookup for a tail queue.
  *
- * Get a pointer to a tail queue header of an already reserved tail
+ * Get a pointer to a tail queue header of a tail
  * queue identified by the name given as an argument.
- * Note: this function, along with rte_tailq_reserve, is not multi-thread safe,
- * and both these functions should only be called from a single thread at a time
+ * Note: this function is not multi-thread safe, and should only be called from
+ * a single thread at a time
  *
  * @param idx
  *   The tailq idx defined in rte_tail_t to be given to the tail queue.
index 54f5ff1..a1ba203 100644 (file)
@@ -49,8 +49,6 @@ DPDK_2.0 {
        rte_eal_remote_launch;
        rte_eal_tailq_lookup;
        rte_eal_tailq_lookup_by_idx;
-       rte_eal_tailq_reserve;
-       rte_eal_tailq_reserve_by_idx;
        rte_eal_vdev_init;
        rte_eal_vdev_uninit;
        rte_eal_wait_lcore;