[Intel-gfx] [RFC PATCH i-g-t v2 1/8] tests/core_hotunplug: Duplicate debug messages in dmesg
Janusz Krzysztofik
janusz.krzysztofik at linux.intel.com
Mon Jun 22 16:44:08 UTC 2020
The purpose of debug messages displayed by the test is to make
identification of a subtest phase that fails more easy. Since issues
exhibited by the test are mostly reported to dmesg, print those debug
messages to /dev/kmsg as well.
v2: rebase on upstream
Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
---
tests/core_hotunplug.c | 38 ++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)
diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index e03f3b945..826645b1f 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -49,6 +49,12 @@ struct hotunplug {
/* Helpers */
+#define local_debug(msg...) \
+({ \
+ igt_debug("%s: %s\n", __func__, msg); \
+ igt_kmsg(KMSG_DEBUG "%s: %s: %s\n", igt_test_name(), __func__, msg); \
+})
+
static void prepare_for_unbind(struct hotunplug *priv, char *buf, int buflen)
{
int len;
@@ -68,9 +74,9 @@ static void prepare_for_unbind(struct hotunplug *priv, char *buf, int buflen)
close(priv->fd.sysfs_dev);
}
-static void prepare(struct hotunplug *priv, char *buf, int buflen)
+static inline void prepare(struct hotunplug *priv, char *buf, int buflen)
{
- igt_debug("opening device\n");
+ local_debug("opening device");
priv->fd.drm = __drm_open_driver(DRIVER_ANY);
igt_assert(priv->fd.drm >= 0);
@@ -137,14 +143,14 @@ static void bus_rescan(int fd_sysfs_bus)
close(fd_sysfs_bus);
}
-static void healthcheck(void)
+static inline void healthcheck(void)
{
int fd_drm;
/* device name may have changed, rebuild IGT device list */
igt_devices_scan(true);
- igt_debug("reopening the device\n");
+ local_debug("reopening the device");
fd_drm = __drm_open_driver(DRIVER_ANY);
igt_abort_on_f(fd_drm < 0, "Device reopen failure");
@@ -181,13 +187,13 @@ static void unbind_rebind(void)
prepare(&priv, buf, sizeof(buf));
- igt_debug("closing the device\n");
+ local_debug("closing the device");
close(priv.fd.drm);
- igt_debug("unbinding the driver from the device\n");
+ local_debug("unbinding the driver from the device");
driver_unbind(priv.fd.sysfs_drv, priv.dev_bus_addr);
- igt_debug("rebinding the driver to the device\n");
+ local_debug("rebinding the driver to the device");
driver_bind(priv.fd.sysfs_drv, priv.dev_bus_addr);
healthcheck();
@@ -199,13 +205,13 @@ static void unplug_rescan(void)
prepare(&priv, NULL, 0);
- igt_debug("closing the device\n");
+ local_debug("closing the device");
close(priv.fd.drm);
- igt_debug("unplugging the device\n");
+ local_debug("unplugging the device");
device_unplug(priv.fd.sysfs_dev);
- igt_debug("recovering the device\n");
+ local_debug("recovering the device");
bus_rescan(priv.fd.sysfs_bus);
healthcheck();
@@ -218,13 +224,13 @@ static void hotunbind_lateclose(void)
prepare(&priv, buf, sizeof(buf));
- igt_debug("hot unbinding the driver from the device\n");
+ local_debug("hot unbinding the driver from the device");
driver_unbind(priv.fd.sysfs_drv, priv.dev_bus_addr);
- igt_debug("rebinding the driver to the device\n");
+ local_debug("rebinding the driver to the device");
driver_bind(priv.fd.sysfs_drv, priv.dev_bus_addr);
- igt_debug("late closing the unbound device instance\n");
+ local_debug("late closing the unbound device instance");
close(priv.fd.drm);
healthcheck();
@@ -236,13 +242,13 @@ static void hotunplug_lateclose(void)
prepare(&priv, NULL, 0);
- igt_debug("hot unplugging the device\n");
+ local_debug("hot unplugging the device");
device_unplug(priv.fd.sysfs_dev);
- igt_debug("recovering the device\n");
+ local_debug("recovering the device");
bus_rescan(priv.fd.sysfs_bus);
- igt_debug("late closing the removed device instance\n");
+ local_debug("late closing the removed device instance");
close(priv.fd.drm);
healthcheck();
--
2.21.1
More information about the Intel-gfx
mailing list