[ovs-dev] [PATCH v6 1/3] ofproto: change type of n_handlers and n_revalidators
Mark Gray
mark.d.gray at redhat.com
Fri Jul 16 10:17:34 UTC 2021
'n_handlers' and 'n_revalidators' are declared as type 'size_t'.
However, dpif_handlers_set() requires parameter 'n_handlers' as
type 'uint32_t'. This patch fixes this type mismatch.
Signed-off-by: Mark Gray <mark.d.gray at redhat.com>
Acked-by: Flavio Leitner <fbl at sysclose.org>
Acked-by: Aaron Conole <aconole at redhat.com>
---
Notes:
v1 - Reworked based on Flavio's comments:
* fixed inconsistency with change of size_t -> uint32_t
ofproto/ofproto-dpif-upcall.c | 20 ++++++++++----------
ofproto/ofproto-dpif-upcall.h | 5 +++--
ofproto/ofproto-provider.h | 2 +-
ofproto/ofproto.c | 2 +-
4 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
index ccf97266c0b9..d22f7f07361f 100644
--- a/ofproto/ofproto-dpif-upcall.c
+++ b/ofproto/ofproto-dpif-upcall.c
@@ -129,10 +129,10 @@ struct udpif {
struct dpif_backer *backer; /* Opaque dpif_backer pointer. */
struct handler *handlers; /* Upcall handlers. */
- size_t n_handlers;
+ uint32_t n_handlers;
struct revalidator *revalidators; /* Flow revalidators. */
- size_t n_revalidators;
+ uint32_t n_revalidators;
struct latch exit_latch; /* Tells child threads to exit. */
@@ -335,8 +335,8 @@ static int process_upcall(struct udpif *, struct upcall *,
struct ofpbuf *odp_actions, struct flow_wildcards *);
static void handle_upcalls(struct udpif *, struct upcall *, size_t n_upcalls);
static void udpif_stop_threads(struct udpif *, bool delete_flows);
-static void udpif_start_threads(struct udpif *, size_t n_handlers,
- size_t n_revalidators);
+static void udpif_start_threads(struct udpif *, uint32_t n_handlers,
+ uint32_t n_revalidators);
static void udpif_pause_revalidators(struct udpif *);
static void udpif_resume_revalidators(struct udpif *);
static void *udpif_upcall_handler(void *);
@@ -562,8 +562,8 @@ udpif_stop_threads(struct udpif *udpif, bool delete_flows)
/* Starts the handler and revalidator threads. */
static void
-udpif_start_threads(struct udpif *udpif, size_t n_handlers_,
- size_t n_revalidators_)
+udpif_start_threads(struct udpif *udpif, uint32_t n_handlers_,
+ uint32_t n_revalidators_)
{
if (udpif && n_handlers_ && n_revalidators_) {
/* Creating a thread can take a significant amount of time on some
@@ -632,8 +632,8 @@ udpif_resume_revalidators(struct udpif *udpif)
* datapath handle must have packet reception enabled before starting
* threads. */
void
-udpif_set_threads(struct udpif *udpif, size_t n_handlers_,
- size_t n_revalidators_)
+udpif_set_threads(struct udpif *udpif, uint32_t n_handlers_,
+ uint32_t n_revalidators_)
{
ovs_assert(udpif);
ovs_assert(n_handlers_ && n_revalidators_);
@@ -691,8 +691,8 @@ udpif_get_memory_usage(struct udpif *udpif, struct simap *usage)
void
udpif_flush(struct udpif *udpif)
{
- size_t n_handlers_ = udpif->n_handlers;
- size_t n_revalidators_ = udpif->n_revalidators;
+ uint32_t n_handlers_ = udpif->n_handlers;
+ uint32_t n_revalidators_ = udpif->n_revalidators;
udpif_stop_threads(udpif, true);
dpif_flow_flush(udpif->dpif);
diff --git a/ofproto/ofproto-dpif-upcall.h b/ofproto/ofproto-dpif-upcall.h
index 693107ae56c1..b4dfed32046e 100644
--- a/ofproto/ofproto-dpif-upcall.h
+++ b/ofproto/ofproto-dpif-upcall.h
@@ -16,6 +16,7 @@
#define OFPROTO_DPIF_UPCALL_H
#include <stddef.h>
+#include <inttypes.h>
struct dpif;
struct dpif_backer;
@@ -31,8 +32,8 @@ struct simap;
void udpif_init(void);
struct udpif *udpif_create(struct dpif_backer *, struct dpif *);
void udpif_run(struct udpif *udpif);
-void udpif_set_threads(struct udpif *, size_t n_handlers,
- size_t n_revalidators);
+void udpif_set_threads(struct udpif *, uint32_t n_handlers,
+ uint32_t n_revalidators);
void udpif_destroy(struct udpif *);
void udpif_revalidate(struct udpif *);
void udpif_get_memory_usage(struct udpif *, struct simap *usage);
diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h
index 9ad2b71d23eb..57c7d17cb28f 100644
--- a/ofproto/ofproto-provider.h
+++ b/ofproto/ofproto-provider.h
@@ -534,7 +534,7 @@ extern unsigned ofproto_min_revalidate_pps;
/* Number of upcall handler and revalidator threads. Only affects the
* ofproto-dpif implementation. */
-extern size_t n_handlers, n_revalidators;
+extern uint32_t n_handlers, n_revalidators;
static inline struct rule *rule_from_cls_rule(const struct cls_rule *);
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 80ec2d9ac9c7..53002f082b52 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -309,7 +309,7 @@ unsigned ofproto_max_idle = OFPROTO_MAX_IDLE_DEFAULT;
unsigned ofproto_max_revalidator = OFPROTO_MAX_REVALIDATOR_DEFAULT;
unsigned ofproto_min_revalidate_pps = OFPROTO_MIN_REVALIDATE_PPS_DEFAULT;
-size_t n_handlers, n_revalidators;
+uint32_t n_handlers, n_revalidators;
/* Map from datapath name to struct ofproto, for use by unixctl commands. */
static struct hmap all_ofprotos = HMAP_INITIALIZER(&all_ofprotos);
--
2.27.0
More information about the dev
mailing list