bus/vdev: change log type

Use specialized dynamic log type for vdev bus logging.

Suggested-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Suggested-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
This commit is contained in:
Jianfeng Tan 2017-11-07 06:54:22 +00:00 committed by Thomas Monjalon
parent d4a586d29e
commit d22fcb225c
2 changed files with 59 additions and 4 deletions

View File

@ -47,6 +47,9 @@
#include <rte_errno.h>
#include "rte_bus_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,10 @@ static struct rte_bus rte_vdev_bus = {
};
RTE_REGISTER_BUS(vdev, rte_vdev_bus);
RTE_INIT(vdev_init_log)
{
vdev_logtype_bus = rte_log_register("bus.vdev");
if (vdev_logtype_bus >= 0)
rte_log_set_level(vdev_logtype_bus, RTE_LOG_NOTICE);
}

View File

@ -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_ */