From: David Hunt <david.hunt@intel.com>
To: dev@dpdk.org
Cc: david.hunt@intel.com
Subject: [PATCH v1 5/6] examples/vm_power: add thread for oob core monitor
Date: Thu, 7 Jun 2018 08:37:04 +0100 [thread overview]
Message-ID: <20180607073705.32895-6-david.hunt@intel.com> (raw)
In-Reply-To: <20180607073705.32895-1-david.hunt@intel.com>
Change the app to now require three cores, as the third core
will be used to run the oob montoring thread.
Signed-off-by: David Hunt <david.hunt@intel.com>
---
examples/vm_power_manager/main.c | 37 +++++++++++++++++++++++++++++---
1 file changed, 34 insertions(+), 3 deletions(-)
diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index cc2a1289c..4c6b5a990 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -29,6 +29,7 @@
#include "channel_monitor.h"
#include "power_manager.h"
#include "vm_power_cli.h"
+#include "oob_monitor.h"
#include "parse.h"
#include <rte_pmd_ixgbe.h>
#include <rte_pmd_i40e.h>
@@ -269,6 +270,17 @@ run_monitor(__attribute__((unused)) void *arg)
return 0;
}
+static int
+run_core_monitor(__attribute__((unused)) void *arg)
+{
+ if (branch_monitor_init() < 0) {
+ printf("Unable to initialize core monitor\n");
+ return -1;
+ }
+ run_branch_monitor();
+ return 0;
+}
+
static void
sig_handler(int signo)
{
@@ -287,12 +299,15 @@ main(int argc, char **argv)
unsigned int nb_ports;
struct rte_mempool *mbuf_pool;
uint16_t portid;
+ struct core_info *ci;
ret = core_info_init();
if (ret < 0)
rte_panic("Cannot allocate core info\n");
+ ci = get_core_info();
+
ret = rte_eal_init(argc, argv);
if (ret < 0)
rte_panic("Cannot init EAL\n");
@@ -367,16 +382,23 @@ main(int argc, char **argv)
}
}
+ check_all_ports_link_status(enabled_port_mask);
+
lcore_id = rte_get_next_lcore(-1, 1, 0);
if (lcore_id == RTE_MAX_LCORE) {
- RTE_LOG(ERR, EAL, "A minimum of two cores are required to run "
+ RTE_LOG(ERR, EAL, "A minimum of three cores are required to run "
"application\n");
return 0;
}
-
- check_all_ports_link_status(enabled_port_mask);
+ printf("Running channel monitor on lcore id %d\n", lcore_id);
rte_eal_remote_launch(run_monitor, NULL, lcore_id);
+ lcore_id = rte_get_next_lcore(lcore_id, 1, 0);
+ if (lcore_id == RTE_MAX_LCORE) {
+ RTE_LOG(ERR, EAL, "A minimum of three cores are required to run "
+ "application\n");
+ return 0;
+ }
if (power_manager_init() < 0) {
printf("Unable to initialize power manager\n");
return -1;
@@ -385,8 +407,17 @@ main(int argc, char **argv)
printf("Unable to initialize channel manager\n");
return -1;
}
+
+ printf("Running core monitor on lcore id %d\n", lcore_id);
+ rte_eal_remote_launch(run_core_monitor, NULL, lcore_id);
+
run_cli(NULL);
+ branch_monitor_exit();
+
rte_eal_mp_wait_lcore();
+
+ free(ci->cd);
+
return 0;
}
--
2.17.0
next prev parent reply other threads:[~2018-06-07 14:39 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-07 7:36 [PATCH v1 0/6] examples/vm_power: 100% Busy Polling David Hunt
2018-06-07 7:37 ` [PATCH v1 1/6] examples/vm_power: add check for port count David Hunt
2018-06-21 13:24 ` [PATCH v2 0/8] examples/vm_power: 100% Busy Polling David Hunt
2018-06-21 13:24 ` [PATCH v2 1/8] examples/vm_power: add check for port count David Hunt
2018-06-26 9:23 ` [0/9] examples/vm_power: 100% Busy Polling David Hunt
2018-06-26 9:23 ` [PATCH v3 1/9] examples/vm_power: add check for port count David Hunt
2018-07-13 14:22 ` [PATCH v4 0/9] examples/vm_power: 100% Busy Polling David Hunt
2018-07-13 14:22 ` [PATCH v4 1/9] examples/vm_power: add check for port count David Hunt
2018-07-13 14:22 ` [PATCH v4 2/9] examples/vm_power: add core list parameter David Hunt
2018-07-13 14:22 ` [PATCH v4 3/9] examples/vm_power: add oob monitoring functions David Hunt
2018-07-13 14:22 ` [PATCH v4 4/9] examples/vm_power: allow greater than 64 cores David Hunt
2018-07-13 14:22 ` [PATCH v4 5/9] examples/vm_power: add thread for oob core monitor David Hunt
2018-07-13 14:22 ` [PATCH v4 6/9] examples/vm_power: add port-list to command line David Hunt
2018-07-13 14:23 ` [PATCH v4 7/9] examples/vm_power: add branch ratio policy type David Hunt
2018-07-13 14:23 ` [PATCH v4 8/9] examples/vm_power: add cli args to guest app David Hunt
2018-07-13 14:23 ` [PATCH v4 9/9] examples/vm_power: make branch ratio configurable David Hunt
2018-07-20 22:06 ` [PATCH v4 0/9] examples/vm_power: 100% Busy Polling Thomas Monjalon
2018-06-26 9:23 ` [PATCH v3 2/9] examples/vm_power: add core list parameter David Hunt
2018-06-26 9:23 ` [PATCH v3 3/9] examples/vm_power: add oob monitoring functions David Hunt
2018-07-12 19:13 ` Thomas Monjalon
2018-07-12 22:18 ` Stephen Hemminger
2018-07-13 8:24 ` Hunt, David
2018-06-26 9:23 ` [PATCH v3 4/9] examples/vm_power: allow greater than 64 cores David Hunt
2018-06-26 9:23 ` [PATCH v3 5/9] examples/vm_power: add thread for oob core monitor David Hunt
2018-06-26 9:23 ` [PATCH v3 6/9] examples/vm_power: add port-list to command line David Hunt
2018-06-26 9:23 ` [PATCH v3 7/9] examples/vm_power: add branch ratio policy type David Hunt
2018-06-26 9:23 ` [PATCH v3 8/9] examples/vm_power: add cli args to guest app David Hunt
2018-06-26 9:23 ` [PATCH v3 9/9] examples/vm_power: make branch ratio configurable David Hunt
2018-07-12 19:09 ` [0/9] examples/vm_power: 100% Busy Polling Thomas Monjalon
2018-07-13 8:31 ` Hunt, David
2018-07-13 8:33 ` Thomas Monjalon
2018-07-13 8:43 ` Hunt, David
2018-07-18 15:23 ` Thomas Monjalon
2018-06-21 13:24 ` [PATCH v2 2/8] examples/vm_power: add core list parameter David Hunt
2018-06-21 13:24 ` [PATCH v2 3/8] examples/vm_power: add oob monitoring functions David Hunt
2018-06-21 13:24 ` [PATCH v2 4/8] examples/vm_power: allow greater than 64 cores David Hunt
2018-06-21 13:24 ` [PATCH v2 5/8] examples/vm_power: add thread for oob core monitor David Hunt
2018-06-21 13:24 ` [PATCH v2 6/8] examples/vm_power: add port-list to command line David Hunt
2018-06-21 13:24 ` [PATCH v2 7/8] examples/vm_power: add branch ratio policy type David Hunt
2018-06-21 13:24 ` [PATCH v2 8/8] examples/vm_power: add cli args to guest app David Hunt
2018-06-21 14:28 ` [PATCH v2 0/8] examples/vm_power: 100% Busy Polling Radu Nicolau
2018-06-07 7:37 ` [PATCH v1 2/6] examples/vm_power: add core list parameter David Hunt
2018-06-07 7:37 ` [PATCH v1 3/6] examples/vm_power: add oob monitoring functions David Hunt
2018-06-07 7:37 ` [PATCH v1 4/6] examples/vm_power: allow greater than 64 cores David Hunt
2018-06-07 7:37 ` David Hunt [this message]
2018-06-07 7:37 ` [PATCH v1 6/6] examples/vm_power: add port-list to command line David Hunt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180607073705.32895-6-david.hunt@intel.com \
--to=david.hunt@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.