[dpdk-dev] [PATCH v6 4/4] bus/vdev: change log type
Jianfeng Tan
jianfeng.tan at intel.com
Thu Oct 12 10:46:29 CEST 2017
Use specialized dynamic log type for vdev bus logging.
Suggested-by: Gaetan Rivet <gaetan.rivet at 6wind.com>
Suggested-by: Shreyansh Jain <shreyansh.jain at nxp.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
---
drivers/bus/vdev/vdev.c | 20 ++++++++++++++++----
drivers/bus/vdev/vdev_logs.h | 45 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 4 deletions(-)
create mode 100644 drivers/bus/vdev/vdev_logs.h
diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index a16eb71..be2be6f 100644
--- a/drivers/bus/vdev/vdev.c
+++ b/drivers/bus/vdev/vdev.c
@@ -47,6 +47,9 @@
#include <rte_errno.h>
#include "rte_vdev.h"
+#include "vdev_logs.h"
+
+int vdev_logtype_bus;
/* Forward declare to access virtual bus name */
static struct rte_bus rte_vdev_bus;
@@ -103,7 +106,7 @@ vdev_probe_all_drivers(struct rte_vdev_device *dev)
name = rte_vdev_device_name(dev);
- RTE_LOG(DEBUG, EAL, "Search driver %s to probe device %s\n", name,
+ VDEV_LOG(DEBUG, "Search driver %s to probe device %s\n", name,
rte_vdev_device_name(dev));
if (vdev_parse(name, &driver))
@@ -190,7 +193,7 @@ rte_vdev_init(const char *name, const char *args)
ret = vdev_probe_all_drivers(dev);
if (ret) {
if (ret > 0)
- RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
+ VDEV_LOG(ERR, "no driver found for %s\n", name);
goto fail;
}
@@ -213,7 +216,7 @@ vdev_remove_driver(struct rte_vdev_device *dev)
const struct rte_vdev_driver *driver;
if (!dev->device.driver) {
- RTE_LOG(DEBUG, EAL, "no driver attach to device %s\n", name);
+ VDEV_LOG(DEBUG, "no driver attach to device %s\n", name);
return 1;
}
@@ -294,7 +297,7 @@ vdev_probe(void)
continue;
if (vdev_probe_all_drivers(dev)) {
- RTE_LOG(ERR, EAL, "failed to initialize %s device\n",
+ VDEV_LOG(ERR, "failed to initialize %s device\n",
rte_vdev_device_name(dev));
return -1;
}
@@ -342,3 +345,12 @@ static struct rte_bus rte_vdev_bus = {
};
RTE_REGISTER_BUS(vdev, rte_vdev_bus);
+
+RTE_INIT(vdev_init_log);
+static void
+vdev_init_log(void)
+{
+ vdev_logtype_bus = rte_log_register("bus.vdev");
+ if (vdev_logtype_bus >= 0)
+ rte_log_set_level(vdev_logtype_bus, RTE_LOG_NOTICE);
+}
diff --git a/drivers/bus/vdev/vdev_logs.h b/drivers/bus/vdev/vdev_logs.h
new file mode 100644
index 0000000..43b0ab8
--- /dev/null
+++ b/drivers/bus/vdev/vdev_logs.h
@@ -0,0 +1,45 @@
+/*-
+ * BSD LICENSE
+ *
+ * Copyright(c) 2017 Intel Corporation. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Intel Corporation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _VDEV_LOGS_H_
+#define _VDEV_LOGS_H_
+
+#include <rte_log.h>
+
+extern int vdev_logtype_bus;
+
+#define VDEV_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, vdev_logtype_bus, "%s(): " fmt "\n", \
+ __func__, ##args)
+
+#endif /* _VDEV_LOGS_H_ */
--
2.7.4
More information about the dev
mailing list