All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Improve test coverage of TTM
@ 2023-08-31 10:58 Karolina Stolarek
  2023-08-31 10:58 ` [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man Karolina Stolarek
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Karolina Stolarek @ 2023-08-31 10:58 UTC (permalink / raw)
  To: dri-devel; +Cc: Thomas Hellström, Karolina Stolarek, Christian König

Add tests for building blocks of the TTM subsystem, such as ttm_resource,
ttm_resource_manager, ttm_tt and ttm_buffer_object. This series covers
basic functions such as initialization, allocation and clean-up of each
struct. Testing of ttm_buffer_object also includes locking and unlocking
the object for validation, with special scenarios such as an interrupted
wait or deadlock.

Some of the test cases check the bulk move mechanism and how it interacts
with pinned buffers. This is to be seen if we want to add dedicated testing
for bulk move or not. The resource allocation subtests use ttm_sys_manager
for now. Resources that don't use system memory will be indirectly tested
via tests for ttm_bo_validate()/ttm_bo_init_validate(), using a mock
resource manager.

Use kunit_tool script to manually run all the tests:

$ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/ttm/tests

To build a kernel with TTM KUnit tests, first enable CONFIG_KUNIT, and
then CONFIG_DRM_TTM_KUNIT_TEST.

Many thanks,
Karolina

Karolina Stolarek (3):
  drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man
  drm/ttm/tests: Add tests for ttm_tt
  drm/ttm/tests: Add tests for ttm_bo functions

 drivers/gpu/drm/ttm/tests/Makefile            |   3 +
 drivers/gpu/drm/ttm/tests/ttm_bo_test.c       | 616 ++++++++++++++++++
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c |  48 ++
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h |   4 +
 drivers/gpu/drm/ttm/tests/ttm_resource_test.c | 335 ++++++++++
 drivers/gpu/drm/ttm/tests/ttm_tt_test.c       | 277 ++++++++
 6 files changed, 1283 insertions(+)
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_bo_test.c
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_resource_test.c
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_tt_test.c

-- 
2.25.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man
  2023-08-31 10:58 [PATCH 0/3] Improve test coverage of TTM Karolina Stolarek
@ 2023-08-31 10:58 ` Karolina Stolarek
  2023-08-31 19:51     ` kernel test robot
  2023-08-31 10:58 ` [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt Karolina Stolarek
  2023-08-31 10:58 ` [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions Karolina Stolarek
  2 siblings, 1 reply; 19+ messages in thread
From: Karolina Stolarek @ 2023-08-31 10:58 UTC (permalink / raw)
  To: dri-devel; +Cc: Thomas Hellström, Karolina Stolarek, Christian König

Test initialization of ttm_resource using different memory domains.
Add tests for a system memory manager and functions that can be
tested without a fully-featured resource manager. Update
ttm_bo_kunit_init() to initialize BO's kref and reservation object.

Signed-off-by: Karolina Stolarek <karolina.stolarek@intel.com>
---
 drivers/gpu/drm/ttm/tests/Makefile            |   1 +
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c |  23 ++
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h |   4 +
 drivers/gpu/drm/ttm/tests/ttm_resource_test.c | 335 ++++++++++++++++++
 4 files changed, 363 insertions(+)
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_resource_test.c

diff --git a/drivers/gpu/drm/ttm/tests/Makefile b/drivers/gpu/drm/ttm/tests/Makefile
index ec87c4fc1ad5..ff62ff59e9d9 100644
--- a/drivers/gpu/drm/ttm/tests/Makefile
+++ b/drivers/gpu/drm/ttm/tests/Makefile
@@ -3,4 +3,5 @@
 obj-$(CONFIG_DRM_TTM_KUNIT_TEST) += \
         ttm_device_test.o \
         ttm_pool_test.o \
+        ttm_resource_test.o\
         ttm_kunit_helpers.o
diff --git a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
index 81661d8827aa..eccc59b981f8 100644
--- a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
+++ b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
@@ -38,10 +38,33 @@ struct ttm_buffer_object *ttm_bo_kunit_init(struct kunit *test,
 	bo->base = gem_obj;
 	bo->bdev = devs->ttm_dev;
 
+	kref_init(&bo->kref);
+
+	dma_resv_init(&bo->base._resv);
+	bo->base.resv = &bo->base._resv;
+
 	return bo;
 }
 EXPORT_SYMBOL_GPL(ttm_bo_kunit_init);
 
+struct ttm_place *ttm_place_kunit_init(struct kunit *test,
+				       uint32_t mem_type, uint32_t flags,
+				       size_t size)
+{
+	struct ttm_place *place;
+
+	place = kunit_kzalloc(test, sizeof(*place), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, place);
+
+	place->mem_type = mem_type;
+	place->flags = flags;
+	place->fpfn = size >> PAGE_SHIFT;
+	place->lpfn = place->fpfn + (size >> PAGE_SHIFT);
+
+	return place;
+}
+EXPORT_SYMBOL_GPL(ttm_place_kunit_init);
+
 struct ttm_test_devices *ttm_test_devices_basic(struct kunit *test)
 {
 	struct ttm_test_devices *devs;
diff --git a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h
index e261e3660d0b..f38140f93c05 100644
--- a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h
+++ b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h
@@ -8,6 +8,7 @@
 #include <drm/drm_drv.h>
 #include <drm/ttm/ttm_device.h>
 #include <drm/ttm/ttm_bo.h>
+#include <drm/ttm/ttm_placement.h>
 
 #include <drm/drm_kunit_helpers.h>
 #include <kunit/test.h>
@@ -28,6 +29,9 @@ int ttm_device_kunit_init(struct ttm_test_devices *priv,
 struct ttm_buffer_object *ttm_bo_kunit_init(struct kunit *test,
 					    struct ttm_test_devices *devs,
 					    size_t size);
+struct ttm_place *ttm_place_kunit_init(struct kunit *test,
+				       uint32_t mem_type, uint32_t flags,
+				       size_t size);
 
 struct ttm_test_devices *ttm_test_devices_basic(struct kunit *test);
 struct ttm_test_devices *ttm_test_devices_all(struct kunit *test);
diff --git a/drivers/gpu/drm/ttm/tests/ttm_resource_test.c b/drivers/gpu/drm/ttm/tests/ttm_resource_test.c
new file mode 100644
index 000000000000..851cdc43dc37
--- /dev/null
+++ b/drivers/gpu/drm/ttm/tests/ttm_resource_test.c
@@ -0,0 +1,335 @@
+// SPDX-License-Identifier: GPL-2.0 AND MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+#include <drm/ttm/ttm_resource.h>
+
+#include "ttm_kunit_helpers.h"
+
+#define RES_SIZE		SZ_4K
+#define TTM_PRIV_DUMMY_REG	(TTM_NUM_MEM_TYPES - 1)
+
+struct ttm_resource_test_case {
+	const char *description;
+	uint32_t mem_type;
+	uint32_t flags;
+};
+
+struct ttm_resource_test_priv {
+	struct ttm_test_devices *devs;
+	struct ttm_buffer_object *bo;
+	struct ttm_place *place;
+};
+
+static const struct ttm_resource_manager_func ttm_resource_manager_mock_funcs = { };
+
+static int ttm_resource_test_init(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv;
+
+	priv = kunit_kzalloc(test, sizeof(*priv), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, priv);
+
+	priv->devs = ttm_test_devices_all(test);
+	KUNIT_ASSERT_NOT_NULL(test, priv->devs);
+
+	test->priv = priv;
+
+	return 0;
+}
+
+static void ttm_resource_test_fini(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+
+	ttm_test_devices_put(test, priv->devs);
+}
+
+static void ttm_init_test_mocks(struct kunit *test,
+				struct ttm_resource_test_priv *priv,
+				uint32_t mem_type, uint32_t flags)
+{
+	size_t size = RES_SIZE;
+
+	/* Make sure we have what we need for a good BO mock */
+	KUNIT_ASSERT_NOT_NULL(test, priv->devs->ttm_dev);
+
+	priv->bo = ttm_bo_kunit_init(test, priv->devs, size);
+	priv->place = ttm_place_kunit_init(test, mem_type, flags, size);
+}
+
+static void ttm_init_test_manager(struct kunit *test,
+				  struct ttm_resource_test_priv *priv,
+				  uint32_t mem_type)
+{
+	struct ttm_device *ttm_dev = priv->devs->ttm_dev;
+	struct ttm_resource_manager *man;
+	size_t size = SZ_16K;
+
+	man = kunit_kzalloc(test, sizeof(*man), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, man);
+
+	man->use_tt = false;
+	man->func = &ttm_resource_manager_mock_funcs;
+
+	ttm_resource_manager_init(man, ttm_dev, size);
+	ttm_set_driver_manager(ttm_dev, mem_type, man);
+	ttm_resource_manager_set_used(man, true);
+}
+
+static const struct ttm_resource_test_case ttm_resource_cases[] = {
+	{
+		.description = "Init resource in TTM_PL_SYSTEM",
+		.mem_type = TTM_PL_SYSTEM,
+	},
+	{
+		.description = "Init resource in TTM_PL_VRAM",
+		.mem_type = TTM_PL_VRAM,
+	},
+	{
+		.description = "Init resource in a private placement",
+		.mem_type = TTM_PRIV_DUMMY_REG,
+	},
+	{
+		.description = "Init resource in TTM_PL_SYSTEM, set placement flags",
+		.mem_type = TTM_PL_SYSTEM,
+		.flags = TTM_PL_FLAG_TOPDOWN,
+	},
+};
+
+static void ttm_resource_case_desc(const struct ttm_resource_test_case *t, char *desc)
+{
+	strscpy(desc, t->description, KUNIT_PARAM_DESC_SIZE);
+}
+
+KUNIT_ARRAY_PARAM(ttm_resource, ttm_resource_cases, ttm_resource_case_desc);
+
+static void ttm_resource_init_basic(struct kunit *test)
+{
+	const struct ttm_resource_test_case *params = test->param_value;
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource *res;
+	struct ttm_buffer_object *bo;
+	struct ttm_place *place;
+	struct ttm_resource_manager *man;
+	uint64_t expected_usage;
+
+	ttm_init_test_mocks(test, priv, params->mem_type, params->flags);
+	bo = priv->bo;
+	place = priv->place;
+
+	if (params->mem_type > TTM_PL_SYSTEM)
+		ttm_init_test_manager(test, priv, params->mem_type);
+
+	res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, res);
+
+	man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type);
+	expected_usage = man->usage + RES_SIZE;
+
+	KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority]));
+
+	ttm_resource_init(bo, place, res);
+
+	KUNIT_ASSERT_EQ(test, res->start, 0);
+	KUNIT_ASSERT_EQ(test, res->size, RES_SIZE);
+	KUNIT_ASSERT_EQ(test, res->mem_type, place->mem_type);
+	KUNIT_ASSERT_EQ(test, res->placement, place->flags);
+	KUNIT_ASSERT_PTR_EQ(test, res->bo, bo);
+
+	KUNIT_ASSERT_NULL(test, res->bus.addr);
+	KUNIT_ASSERT_EQ(test, res->bus.offset, 0);
+	KUNIT_ASSERT_FALSE(test, res->bus.is_iomem);
+	KUNIT_ASSERT_EQ(test, res->bus.caching, ttm_cached);
+	KUNIT_ASSERT_EQ(test, man->usage, expected_usage);
+
+	KUNIT_ASSERT_TRUE(test, list_is_singular(&man->lru[bo->priority]));
+
+	ttm_resource_fini(man, res);
+}
+
+static void ttm_resource_init_pinned(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource *res;
+	struct ttm_buffer_object *bo;
+	struct ttm_place *place;
+	struct ttm_resource_manager *man;
+
+	ttm_init_test_mocks(test, priv, TTM_PL_SYSTEM, 0);
+	bo = priv->bo;
+	place = priv->place;
+
+	man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type);
+
+	res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, res);
+	KUNIT_ASSERT_TRUE(test, list_empty(&bo->bdev->pinned));
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_pin(bo);
+	ttm_resource_init(bo, place, res);
+	KUNIT_ASSERT_TRUE(test, list_is_singular(&bo->bdev->pinned));
+
+	ttm_bo_unpin(bo);
+	ttm_resource_fini(man, res);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_ASSERT_TRUE(test, list_empty(&bo->bdev->pinned));
+}
+
+static void ttm_resource_fini_basic(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource *res;
+	struct ttm_buffer_object *bo;
+	struct ttm_place *place;
+	struct ttm_resource_manager *man;
+
+	ttm_init_test_mocks(test, priv, TTM_PL_SYSTEM, 0);
+	bo = priv->bo;
+	place = priv->place;
+
+	man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type);
+
+	res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, res);
+
+	ttm_resource_init(bo, place, res);
+	ttm_resource_fini(man, res);
+
+	KUNIT_ASSERT_TRUE(test, list_empty(&res->lru));
+	KUNIT_ASSERT_EQ(test, man->usage, 0);
+}
+
+static void ttm_resource_manager_init_basic(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource_manager *man;
+	size_t size = SZ_16K;
+
+	man = kunit_kzalloc(test, sizeof(*man), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, man);
+
+	ttm_resource_manager_init(man, priv->devs->ttm_dev, size);
+
+	KUNIT_ASSERT_PTR_EQ(test, man->bdev, priv->devs->ttm_dev);
+	KUNIT_ASSERT_EQ(test, man->size, size);
+	KUNIT_ASSERT_EQ(test, man->usage, 0);
+	KUNIT_ASSERT_NULL(test, man->move);
+	KUNIT_ASSERT_NOT_NULL(test, &man->move_lock);
+
+	for (int i = 0; i < TTM_MAX_BO_PRIORITY; ++i)
+		KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[i]));
+}
+
+static void ttm_resource_manager_usage_basic(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource *res;
+	struct ttm_buffer_object *bo;
+	struct ttm_place *place;
+	struct ttm_resource_manager *man;
+	uint64_t actual_usage;
+
+	ttm_init_test_mocks(test, priv, TTM_PL_SYSTEM, TTM_PL_FLAG_TOPDOWN);
+	bo = priv->bo;
+	place = priv->place;
+
+	res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, res);
+
+	man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type);
+
+	ttm_resource_init(bo, place, res);
+	actual_usage = ttm_resource_manager_usage(man);
+
+	KUNIT_ASSERT_EQ(test, actual_usage, RES_SIZE);
+
+	ttm_resource_fini(man, res);
+}
+
+static void ttm_resource_manager_set_used_basic(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource_manager *man;
+
+	man = ttm_manager_type(priv->devs->ttm_dev, TTM_PL_SYSTEM);
+	KUNIT_ASSERT_TRUE(test, man->use_type);
+
+	ttm_resource_manager_set_used(man, false);
+	KUNIT_ASSERT_FALSE(test, man->use_type);
+}
+
+static void ttm_sys_man_alloc_basic(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource_manager *man;
+	struct ttm_buffer_object *bo;
+	struct ttm_place *place;
+	struct ttm_resource *res;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+	int ret;
+
+	ttm_init_test_mocks(test, priv, mem_type, 0);
+	bo = priv->bo;
+	place = priv->place;
+
+	man = ttm_manager_type(priv->devs->ttm_dev, mem_type);
+	ret = man->func->alloc(man, bo, place, &res);
+
+	KUNIT_ASSERT_EQ(test, ret, 0);
+	KUNIT_ASSERT_EQ(test, res->size, RES_SIZE);
+	KUNIT_ASSERT_EQ(test, res->mem_type, mem_type);
+	KUNIT_ASSERT_PTR_EQ(test, res->bo, bo);
+
+	ttm_resource_fini(man, res);
+}
+
+static void ttm_sys_man_free_basic(struct kunit *test)
+{
+	struct ttm_resource_test_priv *priv = test->priv;
+	struct ttm_resource_manager *man;
+	struct ttm_buffer_object *bo;
+	struct ttm_place *place;
+	struct ttm_resource *res;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+
+	ttm_init_test_mocks(test, priv, mem_type, 0);
+	bo = priv->bo;
+	place = priv->place;
+
+	res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, res);
+
+	ttm_resource_alloc(bo, place, &res);
+
+	man = ttm_manager_type(priv->devs->ttm_dev, mem_type);
+	man->func->free(man, res);
+
+	KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority]));
+	KUNIT_ASSERT_EQ(test, man->usage, 0);
+}
+
+static struct kunit_case ttm_resource_test_cases[] = {
+	KUNIT_CASE_PARAM(ttm_resource_init_basic, ttm_resource_gen_params),
+	KUNIT_CASE(ttm_resource_init_pinned),
+	KUNIT_CASE(ttm_resource_fini_basic),
+	KUNIT_CASE(ttm_resource_manager_init_basic),
+	KUNIT_CASE(ttm_resource_manager_usage_basic),
+	KUNIT_CASE(ttm_resource_manager_set_used_basic),
+	KUNIT_CASE(ttm_sys_man_alloc_basic),
+	KUNIT_CASE(ttm_sys_man_free_basic),
+	{}
+};
+
+static struct kunit_suite ttm_resource_test_suite = {
+	.name = "ttm_resource",
+	.init = ttm_resource_test_init,
+	.exit = ttm_resource_test_fini,
+	.test_cases = ttm_resource_test_cases,
+};
+
+kunit_test_suites(&ttm_resource_test_suite);
+
+MODULE_LICENSE("GPL");
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt
  2023-08-31 10:58 [PATCH 0/3] Improve test coverage of TTM Karolina Stolarek
  2023-08-31 10:58 ` [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man Karolina Stolarek
@ 2023-08-31 10:58 ` Karolina Stolarek
  2023-09-01  3:41     ` kernel test robot
  2023-08-31 10:58 ` [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions Karolina Stolarek
  2 siblings, 1 reply; 19+ messages in thread
From: Karolina Stolarek @ 2023-08-31 10:58 UTC (permalink / raw)
  To: dri-devel; +Cc: Thomas Hellström, Karolina Stolarek, Christian König

Test initialization, creation and destruction of ttm_tt instances.

Signed-off-by: Karolina Stolarek <karolina.stolarek@intel.com>
---
 drivers/gpu/drm/ttm/tests/Makefile            |   1 +
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c |  20 ++
 drivers/gpu/drm/ttm/tests/ttm_tt_test.c       | 277 ++++++++++++++++++
 3 files changed, 298 insertions(+)
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_tt_test.c

diff --git a/drivers/gpu/drm/ttm/tests/Makefile b/drivers/gpu/drm/ttm/tests/Makefile
index ff62ff59e9d9..cf8ee2999b33 100644
--- a/drivers/gpu/drm/ttm/tests/Makefile
+++ b/drivers/gpu/drm/ttm/tests/Makefile
@@ -4,4 +4,5 @@ obj-$(CONFIG_DRM_TTM_KUNIT_TEST) += \
         ttm_device_test.o \
         ttm_pool_test.o \
         ttm_resource_test.o\
+        ttm_tt_test.o\
         ttm_kunit_helpers.o
diff --git a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
index eccc59b981f8..112381153bbf 100644
--- a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
+++ b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
@@ -2,9 +2,29 @@
 /*
  * Copyright © 2023 Intel Corporation
  */
+#include <drm/ttm/ttm_tt.h>
+
 #include "ttm_kunit_helpers.h"
 
+static struct ttm_tt *ttm_tt_simple_create(struct ttm_buffer_object *bo,
+					   uint32_t page_flags)
+{
+	struct ttm_tt *tt;
+
+	tt = kzalloc(sizeof(*tt), GFP_KERNEL);
+	ttm_tt_init(tt, bo, 0, ttm_cached, 0);
+
+	return tt;
+}
+
+static void ttm_tt_simple_destroy(struct ttm_device *bdev, struct ttm_tt *ttm)
+{
+	kfree(ttm);
+}
+
 struct ttm_device_funcs ttm_dev_funcs = {
+	.ttm_tt_create = ttm_tt_simple_create,
+	.ttm_tt_destroy = ttm_tt_simple_destroy,
 };
 EXPORT_SYMBOL_GPL(ttm_dev_funcs);
 
diff --git a/drivers/gpu/drm/ttm/tests/ttm_tt_test.c b/drivers/gpu/drm/ttm/tests/ttm_tt_test.c
new file mode 100644
index 000000000000..1300ca93e523
--- /dev/null
+++ b/drivers/gpu/drm/ttm/tests/ttm_tt_test.c
@@ -0,0 +1,277 @@
+// SPDX-License-Identifier: GPL-2.0 AND MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+#include <linux/mm.h>
+#include <linux/shmem_fs.h>
+
+#include <drm/ttm/ttm_tt.h>
+
+#include "ttm_kunit_helpers.h"
+
+#define BO_SIZE		SZ_4K
+
+struct ttm_tt_test_case {
+	const char *description;
+	uint32_t size;
+	uint32_t extra_pages_num;
+};
+
+static int ttm_tt_test_init(struct kunit *test)
+{
+	struct ttm_test_devices *priv;
+
+	priv = kunit_kzalloc(test, sizeof(*priv), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, priv);
+
+	priv = ttm_test_devices_all(test);
+	test->priv = priv;
+
+	return 0;
+}
+
+static const struct ttm_tt_test_case ttm_tt_init_basic_cases[] = {
+	{
+		.description = "Page-aligned size",
+		.size = SZ_4K,
+	},
+	{
+		.description = "Misaligned size",
+		.size = SZ_8K + 1,
+	},
+	{
+		.description = "Extra pages requested",
+		.size = SZ_4K,
+		.extra_pages_num = 1,
+	},
+};
+
+static void ttm_tt_init_case_desc(const struct ttm_tt_test_case *t,
+				  char *desc)
+{
+	strscpy(desc, t->description, KUNIT_PARAM_DESC_SIZE);
+}
+
+KUNIT_ARRAY_PARAM(ttm_tt_init_basic, ttm_tt_init_basic_cases,
+		  ttm_tt_init_case_desc);
+
+static void ttm_tt_init_basic(struct kunit *test)
+{
+	const struct ttm_tt_test_case *params = test->param_value;
+	struct ttm_buffer_object *bo;
+	struct ttm_tt *tt;
+	uint32_t page_flags = TTM_TT_FLAG_ZERO_ALLOC;
+	enum ttm_caching caching = ttm_cached;
+	uint32_t extra_pages = params->extra_pages_num;
+	int num_pages = PAGE_ALIGN(params->size) / PAGE_SIZE;
+	int err;
+
+	tt = kunit_kzalloc(test, sizeof(*tt), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, tt);
+
+	bo = ttm_bo_kunit_init(test, test->priv, params->size);
+
+	err = ttm_tt_init(tt, bo, page_flags, caching, extra_pages);
+	KUNIT_ASSERT_EQ(test, err, 0);
+
+	KUNIT_ASSERT_EQ(test, tt->num_pages, num_pages + extra_pages);
+
+	KUNIT_ASSERT_EQ(test, tt->page_flags, page_flags);
+	KUNIT_ASSERT_EQ(test, tt->caching, caching);
+
+	KUNIT_ASSERT_NULL(test, tt->dma_address);
+	KUNIT_ASSERT_NULL(test, tt->swap_storage);
+}
+
+static void ttm_tt_fini_basic(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	struct ttm_tt *tt;
+	enum ttm_caching caching = ttm_cached;
+	int err;
+
+	tt = kunit_kzalloc(test, sizeof(*tt), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, tt);
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_tt_init(tt, bo, 0, caching, 0);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	KUNIT_ASSERT_NOT_NULL(test, tt->pages);
+
+	ttm_tt_fini(tt);
+	KUNIT_ASSERT_NULL(test, tt->pages);
+}
+
+static void ttm_tt_fini_sg(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	struct ttm_tt *tt;
+	enum ttm_caching caching = ttm_cached;
+	int err;
+
+	tt = kunit_kzalloc(test, sizeof(*tt), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, tt);
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_sg_tt_init(tt, bo, 0, caching);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	KUNIT_ASSERT_NOT_NULL(test, tt->dma_address);
+
+	ttm_tt_fini(tt);
+	KUNIT_ASSERT_NULL(test, tt->dma_address);
+}
+
+static void ttm_tt_fini_shmem(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	struct ttm_tt *tt;
+	struct file *shmem;
+	enum ttm_caching caching = ttm_cached;
+	int err;
+
+	tt = kunit_kzalloc(test, sizeof(*tt), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, tt);
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_tt_init(tt, bo, 0, caching, 0);
+	KUNIT_ASSERT_EQ(test, err, 0);
+
+	shmem = shmem_file_setup("ttm swap", BO_SIZE, 0);
+	tt->swap_storage = shmem;
+
+	ttm_tt_fini(tt);
+	KUNIT_ASSERT_NULL(test, tt->swap_storage);
+}
+
+static void ttm_tt_create_basic(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	int err;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	bo->type = ttm_bo_type_device;
+
+	dma_resv_lock(bo->base.resv, NULL);
+	err = ttm_tt_create(bo, false);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_EXPECT_EQ(test, err, 0);
+	KUNIT_EXPECT_NOT_NULL(test, bo->ttm);
+
+	/* Free manually, as it was allocated outside of KUnit */
+	kfree(bo->ttm);
+}
+
+static void ttm_tt_create_invalid_bo_type(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	int err;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	bo->type = ttm_bo_type_sg + 1;
+
+	dma_resv_lock(bo->base.resv, NULL);
+	err = ttm_tt_create(bo, false);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_EXPECT_EQ(test, err, -EINVAL);
+	KUNIT_EXPECT_NULL(test, bo->ttm);
+}
+
+static void ttm_tt_create_ttm_exists(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	struct ttm_tt *tt;
+	enum ttm_caching caching = ttm_cached;
+	int err;
+
+	tt = kunit_kzalloc(test, sizeof(*tt), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, tt);
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_tt_init(tt, bo, 0, caching, 0);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	bo->ttm = tt;
+
+	dma_resv_lock(bo->base.resv, NULL);
+	err = ttm_tt_create(bo, false);
+	dma_resv_unlock(bo->base.resv);
+
+	/* Expect to keep the previous TTM */
+	KUNIT_ASSERT_EQ(test, err, 0);
+	KUNIT_ASSERT_PTR_EQ(test, tt, bo->ttm);
+}
+
+static struct ttm_tt *ttm_tt_null_create(struct ttm_buffer_object *bo,
+					 uint32_t page_flags)
+{
+	return NULL;
+}
+
+struct ttm_device_funcs ttm_dev_empty_funcs = {
+	.ttm_tt_create = ttm_tt_null_create,
+};
+
+static void ttm_tt_create_failed(struct kunit *test)
+{
+	const struct ttm_test_devices *devs = test->priv;
+	struct ttm_buffer_object *bo;
+	int err;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	/* Update ttm_device_funcs so we don't alloc ttm_tt */
+	devs->ttm_dev->funcs = &ttm_dev_empty_funcs;
+
+	dma_resv_lock(bo->base.resv, NULL);
+	err = ttm_tt_create(bo, false);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_ASSERT_EQ(test, err, -ENOMEM);
+}
+
+static void ttm_tt_destroy_basic(struct kunit *test)
+{
+	const struct ttm_test_devices *devs = test->priv;
+	struct ttm_buffer_object *bo;
+	int err;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	dma_resv_lock(bo->base.resv, NULL);
+	err = ttm_tt_create(bo, false);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_ASSERT_EQ(test, err, 0);
+	KUNIT_ASSERT_NOT_NULL(test, bo->ttm);
+
+	ttm_tt_destroy(devs->ttm_dev, bo->ttm);
+}
+
+static struct kunit_case ttm_tt_test_cases[] = {
+	KUNIT_CASE_PARAM(ttm_tt_init_basic, ttm_tt_init_basic_gen_params),
+	KUNIT_CASE(ttm_tt_fini_basic),
+	KUNIT_CASE(ttm_tt_fini_sg),
+	KUNIT_CASE(ttm_tt_fini_shmem),
+	KUNIT_CASE(ttm_tt_create_basic),
+	KUNIT_CASE(ttm_tt_create_invalid_bo_type),
+	KUNIT_CASE(ttm_tt_create_ttm_exists),
+	KUNIT_CASE(ttm_tt_create_failed),
+	KUNIT_CASE(ttm_tt_destroy_basic),
+	{}
+};
+
+static struct kunit_suite ttm_tt_test_suite = {
+	.name = "ttm_tt",
+	.init = ttm_tt_test_init,
+	.exit = ttm_test_devices_fini,
+	.test_cases = ttm_tt_test_cases,
+};
+
+kunit_test_suites(&ttm_tt_test_suite);
+
+MODULE_LICENSE("GPL");
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
  2023-08-31 10:58 [PATCH 0/3] Improve test coverage of TTM Karolina Stolarek
  2023-08-31 10:58 ` [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man Karolina Stolarek
  2023-08-31 10:58 ` [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt Karolina Stolarek
@ 2023-08-31 10:58 ` Karolina Stolarek
  2023-09-01 12:04     ` kernel test robot
  2 siblings, 1 reply; 19+ messages in thread
From: Karolina Stolarek @ 2023-08-31 10:58 UTC (permalink / raw)
  To: dri-devel; +Cc: Thomas Hellström, Karolina Stolarek, Christian König

Test reservation and release of TTM buffer objects. Add tests to check
pin and unpin operations.

Signed-off-by: Karolina Stolarek <karolina.stolarek@intel.com>
---
 drivers/gpu/drm/ttm/tests/Makefile            |   1 +
 drivers/gpu/drm/ttm/tests/ttm_bo_test.c       | 616 ++++++++++++++++++
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c |   5 +
 3 files changed, 622 insertions(+)
 create mode 100644 drivers/gpu/drm/ttm/tests/ttm_bo_test.c

diff --git a/drivers/gpu/drm/ttm/tests/Makefile b/drivers/gpu/drm/ttm/tests/Makefile
index cf8ee2999b33..cc764a886118 100644
--- a/drivers/gpu/drm/ttm/tests/Makefile
+++ b/drivers/gpu/drm/ttm/tests/Makefile
@@ -5,4 +5,5 @@ obj-$(CONFIG_DRM_TTM_KUNIT_TEST) += \
         ttm_pool_test.o \
         ttm_resource_test.o\
         ttm_tt_test.o\
+        ttm_bo_test.o \
         ttm_kunit_helpers.o
diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
new file mode 100644
index 000000000000..c8dc1004a391
--- /dev/null
+++ b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
@@ -0,0 +1,616 @@
+// SPDX-License-Identifier: GPL-2.0 AND MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+#include <linux/dma-resv.h>
+#include <linux/kthread.h>
+#include <linux/delay.h>
+#include <linux/timer.h>
+#include <linux/jiffies.h>
+#include <linux/mutex.h>
+#include <linux/ww_mutex.h>
+
+#include <drm/ttm/ttm_resource.h>
+#include <drm/ttm/ttm_placement.h>
+#include <drm/ttm/ttm_tt.h>
+
+#include "ttm_kunit_helpers.h"
+
+#define BO_SIZE		SZ_8K
+
+struct ttm_bo_test_case {
+	const char *description;
+	bool interruptible;
+	bool no_wait;
+};
+
+static const struct ttm_bo_test_case ttm_bo_reserved_cases[] = {
+	{
+		.description = "Cannot be interrupted and sleeps",
+		.interruptible = false,
+		.no_wait = false,
+	},
+	{
+		.description = "Cannot be interrupted, locks straight away",
+		.interruptible = false,
+		.no_wait = true,
+	},
+	{
+		.description = "Can be interrupted, sleeps",
+		.interruptible = true,
+		.no_wait = false,
+	},
+};
+
+static void ttm_bo_init_case_desc(const struct ttm_bo_test_case *t,
+				  char *desc)
+{
+	strscpy(desc, t->description, KUNIT_PARAM_DESC_SIZE);
+}
+
+KUNIT_ARRAY_PARAM(ttm_bo_reserve, ttm_bo_reserved_cases, ttm_bo_init_case_desc);
+
+static void ttm_bo_reserve_optimistic_no_ticket(struct kunit *test)
+{
+	const struct ttm_bo_test_case *params = test->param_value;
+	struct ttm_buffer_object *bo;
+	int err;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_bo_reserve(bo, params->interruptible, params->no_wait, NULL);
+	KUNIT_ASSERT_EQ(test, err, 0);
+
+	dma_resv_unlock(bo->base.resv);
+}
+
+static void ttm_bo_reserve_locked_no_sleep(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	bool interruptible = false;
+	bool no_wait = true;
+	int err;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	/* Let's lock it beforehand */
+	dma_resv_lock(bo->base.resv, NULL);
+
+	err = ttm_bo_reserve(bo, interruptible, no_wait, NULL);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_ASSERT_EQ(test, err, -EBUSY);
+}
+
+static void ttm_bo_reserve_no_wait_ticket(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	struct ww_acquire_ctx ctx;
+	bool interruptible = false;
+	bool no_wait = true;
+	int err;
+
+	ww_acquire_init(&ctx, &reservation_ww_class);
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_bo_reserve(bo, interruptible, no_wait, &ctx);
+	KUNIT_ASSERT_EQ(test, err, -EBUSY);
+
+	ww_acquire_fini(&ctx);
+}
+
+static void ttm_bo_reserve_double_resv(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	struct ww_acquire_ctx ctx;
+	bool interruptible = false;
+	bool no_wait = false;
+	int err;
+
+	ww_acquire_init(&ctx, &reservation_ww_class);
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_bo_reserve(bo, interruptible, no_wait, &ctx);
+	KUNIT_ASSERT_EQ(test, err, 0);
+
+	err = ttm_bo_reserve(bo, interruptible, no_wait, &ctx);
+
+	ww_acquire_fini(&ctx);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_ASSERT_EQ(test, err, -EALREADY);
+}
+
+/*
+ * A test case heavily inspired by ww_test_edeadlk_normal(). Checks
+ * if -EDEADLK is properly propagated by ttm_bo_reserve()
+ */
+static void ttm_bo_reserve_deadlock(struct kunit *test)
+{
+	struct ttm_buffer_object *bo1, *bo2;
+	struct ww_acquire_ctx ctx1, ctx2;
+	bool interruptible = false;
+	bool no_wait = false;
+	int err;
+
+	bo1 = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	bo2 = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	mutex_lock(&bo2->base.resv->lock.base);
+	bo2->base.resv->lock.ctx = &ctx2;
+
+	ww_acquire_init(&ctx1, &reservation_ww_class);
+	ctx2 = ctx1;
+	ctx2.stamp--; /* Make the context holding the lock younger */
+
+	err = ttm_bo_reserve(bo1, interruptible, no_wait, &ctx1);
+	KUNIT_ASSERT_EQ(test, err, 0);
+
+	err = ttm_bo_reserve(bo2, interruptible, no_wait, &ctx1);
+	KUNIT_ASSERT_EQ(test, err, -EDEADLK);
+
+	mutex_unlock(&bo2->base.resv->lock.base);
+
+	dma_resv_unlock(bo1->base.resv);
+
+	ww_acquire_fini(&ctx1);
+	ww_acquire_fini(&ctx2);
+}
+
+struct signal_timer {
+	struct timer_list timer;
+	struct ww_acquire_ctx *ctx;
+};
+
+static void signal_for_ttm_bo_reserve(struct timer_list *t)
+{
+	struct signal_timer *s_timer = from_timer(s_timer, t, timer);
+	struct task_struct *task = s_timer->ctx->task;
+
+	do_send_sig_info(SIGTERM, SEND_SIG_PRIV, task, PIDTYPE_PID);
+}
+
+static int threaded_ttm_bo_reserve(void *arg)
+{
+	struct ttm_buffer_object *bo = arg;
+	struct signal_timer s_timer;
+	struct ww_acquire_ctx ctx;
+	bool interruptible = true;
+	bool no_wait = false;
+	int err;
+
+	ww_acquire_init(&ctx, &reservation_ww_class);
+
+	/* Prepare a signal that will interrupt the reservation attempt */
+	timer_setup_on_stack(&s_timer.timer, &signal_for_ttm_bo_reserve, 0);
+	s_timer.ctx = &ctx;
+
+	mod_timer(&s_timer.timer, msecs_to_jiffies(100));
+
+	err = ttm_bo_reserve(bo, interruptible, no_wait, &ctx);
+
+	timer_delete_sync(&s_timer.timer);
+	destroy_timer_on_stack(&s_timer.timer);
+
+	ww_acquire_fini(&ctx);
+
+	return err;
+}
+
+static void ttm_bo_reserve_interrupted(struct kunit *test)
+{
+	struct ttm_buffer_object *bo;
+	struct task_struct *task;
+	int err;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	task = kthread_create(threaded_ttm_bo_reserve, bo, "ttm-bo-reserve");
+
+	if (IS_ERR(task))
+		KUNIT_FAIL(test, "Couldn't create ttm bo reserve task\n");
+
+	/* Take a lock so the threaded reserve has to wait */
+	mutex_lock(&bo->base.resv->lock.base);
+
+	wake_up_process(task);
+	msleep(20);
+	err = kthread_stop(task);
+
+	mutex_unlock(&bo->base.resv->lock.base);
+
+	KUNIT_ASSERT_EQ(test, err, -ERESTARTSYS);
+}
+
+static void ttm_bo_unreserve_basic(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_buffer_object *bo;
+	struct ttm_device *ttm_dev;
+	struct ttm_resource *res1, *res2;
+	struct ttm_place *place;
+	struct ttm_resource_manager *man;
+	unsigned int bo_prio = TTM_MAX_BO_PRIORITY - 1;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+	int err;
+
+	place = ttm_place_kunit_init(test, mem_type, 0, BO_SIZE);
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	bo->priority = bo_prio;
+
+	err = ttm_resource_alloc(bo, place, &res1);
+	KUNIT_ASSERT_EQ(test, err, 0);
+
+	bo->resource = res1;
+
+	/* Add a dummy resource to populate LRU */
+	ttm_resource_alloc(bo, place, &res2);
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_unreserve(bo);
+
+	man = ttm_manager_type(priv->ttm_dev, mem_type);
+	KUNIT_ASSERT_EQ(test,
+			list_is_last(&res1->lru, &man->lru[bo->priority]), 1);
+
+	ttm_resource_free(bo, &res2);
+	ttm_resource_free(bo, &res1);
+}
+
+static void ttm_bo_unreserve_pinned(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_buffer_object *bo;
+	struct ttm_device *ttm_dev;
+	struct ttm_resource *res1, *res2;
+	struct ttm_place *place;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+	int err;
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	place = ttm_place_kunit_init(test, mem_type, 0, BO_SIZE);
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_pin(bo);
+
+	err = ttm_resource_alloc(bo, place, &res1);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	bo->resource = res1;
+
+	/* Add a dummy resource to the pinned list */
+	err = ttm_resource_alloc(bo, place, &res2);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	KUNIT_ASSERT_EQ(test,
+			list_is_last(&res2->lru, &priv->ttm_dev->pinned), 1);
+
+	ttm_bo_unreserve(bo);
+	KUNIT_ASSERT_EQ(test,
+			list_is_last(&res1->lru, &priv->ttm_dev->pinned), 1);
+
+	ttm_resource_free(bo, &res1);
+	ttm_resource_free(bo, &res2);
+}
+
+static void ttm_bo_unreserve_bulk(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_lru_bulk_move lru_bulk_move;
+	struct ttm_lru_bulk_move_pos *pos;
+	struct ttm_buffer_object *bo1, *bo2;
+	struct ttm_resource *res1, *res2;
+	struct ttm_device *ttm_dev;
+	struct ttm_place *place;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+	unsigned int bo_priority = 0;
+	int err;
+
+	ttm_lru_bulk_move_init(&lru_bulk_move);
+
+	place = ttm_place_kunit_init(test, mem_type, 0, BO_SIZE);
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	bo1 = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	bo2 = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	dma_resv_lock(bo1->base.resv, NULL);
+	ttm_bo_set_bulk_move(bo1, &lru_bulk_move);
+	dma_resv_unlock(bo1->base.resv);
+
+	err = ttm_resource_alloc(bo1, place, &res1);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	bo1->resource = res1;
+
+	dma_resv_lock(bo2->base.resv, NULL);
+	ttm_bo_set_bulk_move(bo2, &lru_bulk_move);
+	dma_resv_unlock(bo2->base.resv);
+
+	err = ttm_resource_alloc(bo2, place, &res2);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	bo2->resource = res2;
+
+	ttm_bo_reserve(bo1, false, false, NULL);
+	ttm_bo_unreserve(bo1);
+
+	pos = &lru_bulk_move.pos[mem_type][bo_priority];
+	KUNIT_ASSERT_PTR_EQ(test, res1, pos->last);
+
+	ttm_resource_free(bo1, &res1);
+	ttm_resource_free(bo2, &res2);
+}
+
+static void ttm_bo_put_basic(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_buffer_object *bo;
+	struct ttm_resource *res;
+	struct ttm_device *ttm_dev;
+	struct ttm_place *place;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+	int err;
+
+	place = ttm_place_kunit_init(test, mem_type, 0, BO_SIZE);
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	bo->type = ttm_bo_type_device;
+
+	err = ttm_resource_alloc(bo, place, &res);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	bo->resource = res;
+
+	dma_resv_lock(bo->base.resv, NULL);
+	err = ttm_tt_create(bo, false);
+	dma_resv_unlock(bo->base.resv);
+	KUNIT_EXPECT_EQ(test, err, 0);
+
+	ttm_bo_put(bo);
+}
+
+static const char *mock_name(struct dma_fence *f)
+{
+	return "kunit-ttm-bo-put";
+}
+
+static const struct dma_fence_ops mock_fence_ops = {
+	.get_driver_name = mock_name,
+	.get_timeline_name = mock_name,
+};
+
+static void ttm_bo_put_shared_resv(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_buffer_object *bo;
+	struct dma_resv *external_resv;
+	struct dma_fence *fence;
+	/* A dummy DMA fence lock */
+	spinlock_t fence_lock;
+	struct ttm_device *ttm_dev;
+	int err;
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	external_resv = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, external_resv);
+
+	dma_resv_init(external_resv);
+
+	fence = kunit_kzalloc(test, sizeof(*fence), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, fence);
+
+	spin_lock_init(&fence_lock);
+	dma_fence_init(fence, &mock_fence_ops, &fence_lock, 0, 0);
+
+	dma_resv_lock(external_resv, NULL);
+	dma_resv_reserve_fences(external_resv, 1);
+	dma_resv_add_fence(external_resv, fence, DMA_RESV_USAGE_BOOKKEEP);
+	dma_resv_unlock(external_resv);
+
+	dma_fence_signal(fence);
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+	bo->type = ttm_bo_type_device;
+	bo->base.resv = external_resv;
+
+	ttm_bo_put(bo);
+}
+
+static void ttm_bo_pin_basic(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_buffer_object *bo;
+	struct ttm_device *ttm_dev;
+	unsigned int no_pins = 3;
+	int err;
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	for (int i = 0; i < no_pins; i++) {
+		dma_resv_lock(bo->base.resv, NULL);
+		ttm_bo_pin(bo);
+		dma_resv_unlock(bo->base.resv);
+	}
+
+	KUNIT_ASSERT_EQ(test, bo->pin_count, no_pins);
+}
+
+static void ttm_bo_pin_unpin_resource(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_lru_bulk_move lru_bulk_move;
+	struct ttm_lru_bulk_move_pos *pos;
+	struct ttm_buffer_object *bo;
+	struct ttm_resource *res;
+	struct ttm_device *ttm_dev;
+	struct ttm_place *place;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+	unsigned int bo_priority = 0;
+	int err;
+
+	ttm_lru_bulk_move_init(&lru_bulk_move);
+
+	place = ttm_place_kunit_init(test, mem_type, 0, BO_SIZE);
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_resource_alloc(bo, place, &res);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	bo->resource = res;
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_set_bulk_move(bo, &lru_bulk_move);
+	ttm_bo_pin(bo);
+	dma_resv_unlock(bo->base.resv);
+
+	pos = &lru_bulk_move.pos[mem_type][bo_priority];
+
+	KUNIT_ASSERT_EQ(test, bo->pin_count, 1);
+	KUNIT_ASSERT_NULL(test, pos->first);
+	KUNIT_ASSERT_NULL(test, pos->last);
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_unpin(bo);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_ASSERT_PTR_EQ(test, res, pos->last);
+	KUNIT_ASSERT_EQ(test, bo->pin_count, 0);
+
+	ttm_resource_free(bo, &res);
+}
+
+static void ttm_bo_multiple_pin_one_unpin(struct kunit *test)
+{
+	struct ttm_test_devices *priv = test->priv;
+	struct ttm_lru_bulk_move lru_bulk_move;
+	struct ttm_lru_bulk_move_pos *pos;
+	struct ttm_buffer_object *bo;
+	struct ttm_resource *res;
+	struct ttm_device *ttm_dev;
+	struct ttm_place *place;
+	uint32_t mem_type = TTM_PL_SYSTEM;
+	unsigned int bo_priority = 0;
+	int err;
+
+	ttm_lru_bulk_move_init(&lru_bulk_move);
+
+	place = ttm_place_kunit_init(test, mem_type, 0, BO_SIZE);
+
+	ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL);
+	KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
+
+	err = ttm_device_kunit_init(priv, ttm_dev, false, false);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	priv->ttm_dev = ttm_dev;
+
+	bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE);
+
+	err = ttm_resource_alloc(bo, place, &res);
+	KUNIT_ASSERT_EQ(test, err, 0);
+	bo->resource = res;
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_set_bulk_move(bo, &lru_bulk_move);
+
+	/* Multiple pins */
+	ttm_bo_pin(bo);
+	ttm_bo_pin(bo);
+
+	dma_resv_unlock(bo->base.resv);
+
+	pos = &lru_bulk_move.pos[mem_type][bo_priority];
+
+	KUNIT_ASSERT_EQ(test, bo->pin_count, 2);
+	KUNIT_ASSERT_NULL(test, pos->first);
+	KUNIT_ASSERT_NULL(test, pos->last);
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_unpin(bo);
+	dma_resv_unlock(bo->base.resv);
+
+	KUNIT_ASSERT_EQ(test, bo->pin_count, 1);
+	KUNIT_ASSERT_NULL(test, pos->first);
+	KUNIT_ASSERT_NULL(test, pos->last);
+
+	dma_resv_lock(bo->base.resv, NULL);
+	ttm_bo_unpin(bo);
+	dma_resv_unlock(bo->base.resv);
+
+	ttm_resource_free(bo, &res);
+}
+
+static struct kunit_case ttm_bo_test_cases[] = {
+	KUNIT_CASE_PARAM(ttm_bo_reserve_optimistic_no_ticket,
+			 ttm_bo_reserve_gen_params),
+	KUNIT_CASE(ttm_bo_reserve_locked_no_sleep),
+	KUNIT_CASE(ttm_bo_reserve_no_wait_ticket),
+	KUNIT_CASE(ttm_bo_reserve_double_resv),
+	KUNIT_CASE(ttm_bo_reserve_interrupted),
+	KUNIT_CASE(ttm_bo_reserve_deadlock),
+	KUNIT_CASE(ttm_bo_unreserve_basic),
+	KUNIT_CASE(ttm_bo_unreserve_pinned),
+	KUNIT_CASE(ttm_bo_unreserve_bulk),
+	KUNIT_CASE(ttm_bo_put_basic),
+	KUNIT_CASE(ttm_bo_put_shared_resv),
+	KUNIT_CASE(ttm_bo_pin_basic),
+	KUNIT_CASE(ttm_bo_pin_unpin_resource),
+	KUNIT_CASE(ttm_bo_multiple_pin_one_unpin),
+	{}
+};
+
+static struct kunit_suite ttm_bo_test_suite = {
+	.name = "ttm_bo",
+	.init = ttm_test_devices_init,
+	.exit = ttm_test_devices_fini,
+	.test_cases = ttm_bo_test_cases,
+};
+
+kunit_test_suites(&ttm_bo_test_suite);
+
+MODULE_LICENSE("GPL");
diff --git a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
index 112381153bbf..dbe562c59677 100644
--- a/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
+++ b/drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
@@ -22,6 +22,10 @@ static void ttm_tt_simple_destroy(struct ttm_device *bdev, struct ttm_tt *ttm)
 	kfree(ttm);
 }
 
+static void dummy_ttm_bo_destroy(struct ttm_buffer_object *bo)
+{
+}
+
 struct ttm_device_funcs ttm_dev_funcs = {
 	.ttm_tt_create = ttm_tt_simple_create,
 	.ttm_tt_destroy = ttm_tt_simple_destroy,
@@ -57,6 +61,7 @@ struct ttm_buffer_object *ttm_bo_kunit_init(struct kunit *test,
 
 	bo->base = gem_obj;
 	bo->bdev = devs->ttm_dev;
+	bo->destroy = dummy_ttm_bo_destroy;
 
 	kref_init(&bo->kref);
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man
  2023-08-31 10:58 ` [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man Karolina Stolarek
@ 2023-08-31 19:51     ` kernel test robot
  0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2023-08-31 19:51 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel
  Cc: oe-kbuild-all, Thomas Hellström, Karolina Stolarek,
	Christian König

Hi Karolina,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
[cannot apply to drm-intel/for-linux-next-fixes v6.5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/9d3bd31bf434b172c13412f35abfbab71fd66238.1693479161.git.karolina.stolarek%40intel.com
patch subject: [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309010358.50gYLkmw-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309010358.50gYLkmw-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309010358.50gYLkmw-lkp@intel.com/

All errors (new ones prefixed by >>, old ones prefixed by <<):

WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_rr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wrr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man
@ 2023-08-31 19:51     ` kernel test robot
  0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2023-08-31 19:51 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel
  Cc: Thomas Hellström, Karolina Stolarek, Christian König,
	oe-kbuild-all

Hi Karolina,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
[cannot apply to drm-intel/for-linux-next-fixes v6.5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/9d3bd31bf434b172c13412f35abfbab71fd66238.1693479161.git.karolina.stolarek%40intel.com
patch subject: [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309010358.50gYLkmw-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309010358.50gYLkmw-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309010358.50gYLkmw-lkp@intel.com/

All errors (new ones prefixed by >>, old ones prefixed by <<):

WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_rr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wrr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt
  2023-08-31 10:58 ` [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt Karolina Stolarek
@ 2023-09-01  3:41     ` kernel test robot
  0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2023-09-01  3:41 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel
  Cc: oe-kbuild-all, Thomas Hellström, Karolina Stolarek,
	Christian König

Hi Karolina,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
[cannot apply to drm-intel/for-linux-next-fixes v6.5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/8981ec2479d57bbe60be7dacff11093e23739763.1693479161.git.karolina.stolarek%40intel.com
patch subject: [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309011134.bwvpuyOj-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309011134.bwvpuyOj-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309011134.bwvpuyOj-lkp@intel.com/

All errors (new ones prefixed by >>, old ones prefixed by <<):

WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wrr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_destroy" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt
@ 2023-09-01  3:41     ` kernel test robot
  0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2023-09-01  3:41 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel
  Cc: Thomas Hellström, Karolina Stolarek, Christian König,
	oe-kbuild-all

Hi Karolina,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
[cannot apply to drm-intel/for-linux-next-fixes v6.5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/8981ec2479d57bbe60be7dacff11093e23739763.1693479161.git.karolina.stolarek%40intel.com
patch subject: [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309011134.bwvpuyOj-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309011134.bwvpuyOj-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309011134.bwvpuyOj-lkp@intel.com/

All errors (new ones prefixed by >>, old ones prefixed by <<):

WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wrr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_destroy" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
  2023-08-31 10:58 ` [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions Karolina Stolarek
@ 2023-09-01 12:04     ` kernel test robot
  0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2023-09-01 12:04 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel
  Cc: oe-kbuild-all, Thomas Hellström, Karolina Stolarek,
	Christian König

Hi Karolina,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
[cannot apply to drm-intel/for-linux-next-fixes v6.5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/

All errors (new ones prefixed by >>, old ones prefixed by <<):

WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
ERROR: modpost: "ttm_tt_destroy" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>> ERROR: modpost: "do_send_sig_info" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
@ 2023-09-01 12:04     ` kernel test robot
  0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2023-09-01 12:04 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel
  Cc: Thomas Hellström, Karolina Stolarek, Christian König,
	oe-kbuild-all

Hi Karolina,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
[cannot apply to drm-intel/for-linux-next-fixes v6.5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/

All errors (new ones prefixed by >>, old ones prefixed by <<):

WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
ERROR: modpost: "ttm_tt_destroy" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>> ERROR: modpost: "do_send_sig_info" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
  2023-09-01 12:04     ` kernel test robot
@ 2023-09-01 12:37       ` Karolina Stolarek
  -1 siblings, 0 replies; 19+ messages in thread
From: Karolina Stolarek @ 2023-09-01 12:37 UTC (permalink / raw)
  To: Christian König, dri-devel, kernel test robot
  Cc: oe-kbuild-all, Thomas Hellström

On 1.09.2023 14:04, kernel test robot wrote:
> Hi Karolina,
> 
> kernel test robot noticed the following build errors:

It's a problem of building TTM KUnit tests as a module, the issue is not 
tied to a specific arch -- the subtests use unexported definitions. 
While it would be possible to add EXPORT_SYMBOL to the TTM functions, we 
don't want to do it with do_send_sig_info.

Christian, two questions here:

1) Shall we export ttm_resource_alloc, ttm_tt_create and ttm_tt_destroy? 
Or is there a reason why they are "hidden"?

2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
tristate? DRM KUnit tests are tristate, but I think they don't use 
non-exported functions.

Many thanks,
Karolina

> 
> [auto build test ERROR on drm-misc/drm-misc-next]
> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
> patch link:    https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
> config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
> compiler: or1k-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
> 
> All errors (new ones prefixed by >>, old ones prefixed by <<):
> 
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
> ERROR: modpost: "ttm_tt_destroy" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>> ERROR: modpost: "do_send_sig_info" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
@ 2023-09-01 12:37       ` Karolina Stolarek
  0 siblings, 0 replies; 19+ messages in thread
From: Karolina Stolarek @ 2023-09-01 12:37 UTC (permalink / raw)
  To: Christian König, dri-devel, kernel test robot
  Cc: Thomas Hellström, oe-kbuild-all

On 1.09.2023 14:04, kernel test robot wrote:
> Hi Karolina,
> 
> kernel test robot noticed the following build errors:

It's a problem of building TTM KUnit tests as a module, the issue is not 
tied to a specific arch -- the subtests use unexported definitions. 
While it would be possible to add EXPORT_SYMBOL to the TTM functions, we 
don't want to do it with do_send_sig_info.

Christian, two questions here:

1) Shall we export ttm_resource_alloc, ttm_tt_create and ttm_tt_destroy? 
Or is there a reason why they are "hidden"?

2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
tristate? DRM KUnit tests are tristate, but I think they don't use 
non-exported functions.

Many thanks,
Karolina

> 
> [auto build test ERROR on drm-misc/drm-misc-next]
> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
> patch link:    https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
> config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
> compiler: or1k-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
> 
> All errors (new ones prefixed by >>, old ones prefixed by <<):
> 
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_wlc.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_fo.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ovf.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblc.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_lblcr.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_dh.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sh.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_sed.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_nq.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_twos.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_ftp.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/netfilter/ipvs/ip_vs_pe_sip.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_defrag_ipv4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/nf_reject_ipv4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_nat.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/netfilter/iptable_raw.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/xfrm4_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_raw.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/ip6table_nat.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_defrag_ipv6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/netfilter/nf_reject_ipv6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/xfrm6_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ip6_udp_tunnel.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_hellcreek.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot_8021q.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rzn1_a5psw.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_crypto_test.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_token_test.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/nf_conntrack_bridge.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtables.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_broute.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_filter.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/netfilter/ebtable_nat.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/auth_rpcgss.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ieee802154/ieee802154_socket.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/vmw_vsock/vsock_diag.o
> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
> ERROR: modpost: "ttm_tt_destroy" [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>> ERROR: modpost: "ttm_resource_alloc" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>> ERROR: modpost: "ttm_tt_create" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>> ERROR: modpost: "do_send_sig_info" [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
  2023-09-01 12:37       ` Karolina Stolarek
@ 2023-09-01 13:19         ` Christian König
  -1 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2023-09-01 13:19 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel, kernel test robot
  Cc: oe-kbuild-all, Thomas Hellström

Am 01.09.23 um 14:37 schrieb Karolina Stolarek:
> On 1.09.2023 14:04, kernel test robot wrote:
>> Hi Karolina,
>>
>> kernel test robot noticed the following build errors:
>
> It's a problem of building TTM KUnit tests as a module, the issue is 
> not tied to a specific arch -- the subtests use unexported 
> definitions. While it would be possible to add EXPORT_SYMBOL to the 
> TTM functions, we don't want to do it with do_send_sig_info.
>
> Christian, two questions here:
>
> 1) Shall we export ttm_resource_alloc, ttm_tt_create and 
> ttm_tt_destroy? Or is there a reason why they are "hidden"?

Yeah, those are not supposed to be touched by drivers directly.

>
> 2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
> should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
> tristate? DRM KUnit tests are tristate, but I think they don't use 
> non-exported functions.

Another option would be to build them together with TTM into one module, 
but I'm not sure if the KUNIT tests can do this.

Regards,
Christian.

>
> Many thanks,
> Karolina
>
>>
>> [auto build test ERROR on drm-misc/drm-misc-next]
>> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next 
>> drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
>> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
>> [If your patch is applied to the wrong git tree, kindly drop us a note.
>> And when submitting patch, we suggest to use '--base' as documented in
>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>
>> url: 
>> https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
>> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
>> patch link: 
>> https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
>> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
>> config: openrisc-allmodconfig 
>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
>> compiler: or1k-linux-gcc (GCC) 13.2.0
>> reproduce (this is a W=1 build): 
>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
>>
>> If you fix the issue in a separate patch/commit (i.e. not just a new 
>> version of
>> the same patch/commit), kindly add following tags
>> | Reported-by: kernel test robot <lkp@intel.com>
>> | Closes: 
>> https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
>>
>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_wlc.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_fo.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_ovf.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_lblc.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_lblcr.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_dh.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_sh.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_sed.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_nq.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_twos.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_ftp.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_pe_sip.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/nf_defrag_ipv4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/nf_reject_ipv4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/iptable_nat.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/iptable_raw.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/xfrm4_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/ip6table_raw.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/ip6table_nat.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/nf_defrag_ipv6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/nf_reject_ipv6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/xfrm6_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/ip6_udp_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/dsa/tag_hellcreek.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/dsa/tag_ocelot_8021q.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/dsa/tag_rzn1_a5psw.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/mptcp/mptcp_crypto_test.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/mptcp/mptcp_token_test.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/packet/af_packet_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/nf_conntrack_bridge.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtables.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtable_broute.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtable_filter.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtable_nat.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/sunrpc/auth_gss/auth_rpcgss.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/sunrpc/auth_gss/rpcsec_gss_krb5.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ieee802154/6lowpan/ieee802154_6lowpan.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ieee802154/ieee802154_socket.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/vmw_vsock/vsock_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>> ERROR: modpost: "ttm_resource_alloc" 
>> [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_create" 
>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_destroy" 
>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>> ERROR: modpost: "ttm_tt_create" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>> ERROR: modpost: "do_send_sig_info" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
@ 2023-09-01 13:19         ` Christian König
  0 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2023-09-01 13:19 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel, kernel test robot
  Cc: Thomas Hellström, oe-kbuild-all

Am 01.09.23 um 14:37 schrieb Karolina Stolarek:
> On 1.09.2023 14:04, kernel test robot wrote:
>> Hi Karolina,
>>
>> kernel test robot noticed the following build errors:
>
> It's a problem of building TTM KUnit tests as a module, the issue is 
> not tied to a specific arch -- the subtests use unexported 
> definitions. While it would be possible to add EXPORT_SYMBOL to the 
> TTM functions, we don't want to do it with do_send_sig_info.
>
> Christian, two questions here:
>
> 1) Shall we export ttm_resource_alloc, ttm_tt_create and 
> ttm_tt_destroy? Or is there a reason why they are "hidden"?

Yeah, those are not supposed to be touched by drivers directly.

>
> 2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
> should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
> tristate? DRM KUnit tests are tristate, but I think they don't use 
> non-exported functions.

Another option would be to build them together with TTM into one module, 
but I'm not sure if the KUNIT tests can do this.

Regards,
Christian.

>
> Many thanks,
> Karolina
>
>>
>> [auto build test ERROR on drm-misc/drm-misc-next]
>> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next 
>> drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
>> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
>> [If your patch is applied to the wrong git tree, kindly drop us a note.
>> And when submitting patch, we suggest to use '--base' as documented in
>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>
>> url: 
>> https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
>> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
>> patch link: 
>> https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
>> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
>> config: openrisc-allmodconfig 
>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
>> compiler: or1k-linux-gcc (GCC) 13.2.0
>> reproduce (this is a W=1 build): 
>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
>>
>> If you fix the issue in a separate patch/commit (i.e. not just a new 
>> version of
>> the same patch/commit), kindly add following tags
>> | Reported-by: kernel test robot <lkp@intel.com>
>> | Closes: 
>> https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
>>
>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_wlc.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_fo.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_ovf.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_lblc.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_lblcr.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_dh.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_sh.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_sed.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_nq.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_twos.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_ftp.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/netfilter/ipvs/ip_vs_pe_sip.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/nf_defrag_ipv4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/nf_reject_ipv4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/iptable_nat.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/netfilter/iptable_raw.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv4/xfrm4_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/ip6table_raw.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/ip6table_nat.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/nf_defrag_ipv6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/netfilter/nf_reject_ipv6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/xfrm6_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ipv6/ip6_udp_tunnel.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/dsa/tag_hellcreek.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/dsa/tag_ocelot_8021q.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/dsa/tag_rzn1_a5psw.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/mptcp/mptcp_crypto_test.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/mptcp/mptcp_token_test.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/packet/af_packet_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/nf_conntrack_bridge.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtables.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtable_broute.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtable_filter.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/bridge/netfilter/ebtable_nat.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/sunrpc/auth_gss/auth_rpcgss.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/sunrpc/auth_gss/rpcsec_gss_krb5.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ieee802154/6lowpan/ieee802154_6lowpan.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/ieee802154/ieee802154_socket.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>> net/vmw_vsock/vsock_diag.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>> ERROR: modpost: "ttm_resource_alloc" 
>> [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_create" 
>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>> ERROR: modpost: "ttm_tt_destroy" 
>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>> ERROR: modpost: "ttm_tt_create" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>> ERROR: modpost: "do_send_sig_info" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
  2023-09-01 13:19         ` Christian König
@ 2023-09-01 13:30           ` Karolina Stolarek
  -1 siblings, 0 replies; 19+ messages in thread
From: Karolina Stolarek @ 2023-09-01 13:30 UTC (permalink / raw)
  To: Christian König, dri-devel, kernel test robot
  Cc: oe-kbuild-all, Thomas Hellström

On 1.09.2023 15:19, Christian König wrote:
> Am 01.09.23 um 14:37 schrieb Karolina Stolarek:
>> On 1.09.2023 14:04, kernel test robot wrote:
>>> Hi Karolina,
>>>
>>> kernel test robot noticed the following build errors:
>>
>> It's a problem of building TTM KUnit tests as a module, the issue is 
>> not tied to a specific arch -- the subtests use unexported 
>> definitions. While it would be possible to add EXPORT_SYMBOL to the 
>> TTM functions, we don't want to do it with do_send_sig_info.
>>
>> Christian, two questions here:
>>
>> 1) Shall we export ttm_resource_alloc, ttm_tt_create and 
>> ttm_tt_destroy? Or is there a reason why they are "hidden"?
> 
> Yeah, those are not supposed to be touched by drivers directly.

Right, makes sense

> 
>>
>> 2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
>> should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
>> tristate? DRM KUnit tests are tristate, but I think they don't use 
>> non-exported functions.
> 
> Another option would be to build them together with TTM into one module, 
> but I'm not sure if the KUNIT tests can do this.

While I can imagine doing it with TTM, I'm not so sure about coupling it 
with signal.o. Still, I'll take a look.

All the best,
Karolina

> 
> Regards,
> Christian.
> 
>>
>> Many thanks,
>> Karolina
>>
>>>
>>> [auto build test ERROR on drm-misc/drm-misc-next]
>>> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next 
>>> drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
>>> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
>>> [If your patch is applied to the wrong git tree, kindly drop us a note.
>>> And when submitting patch, we suggest to use '--base' as documented in
>>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>>
>>> url: 
>>> https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
>>> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
>>> patch link: 
>>> https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
>>> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
>>> config: openrisc-allmodconfig 
>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
>>> compiler: or1k-linux-gcc (GCC) 13.2.0
>>> reproduce (this is a W=1 build): 
>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
>>>
>>> If you fix the issue in a separate patch/commit (i.e. not just a new 
>>> version of
>>> the same patch/commit), kindly add following tags
>>> | Reported-by: kernel test robot <lkp@intel.com>
>>> | Closes: 
>>> https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
>>>
>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_wlc.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_fo.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_ovf.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_lblc.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_lblcr.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_dh.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_sh.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_sed.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_nq.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_twos.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_ftp.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_pe_sip.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/nf_defrag_ipv4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/nf_reject_ipv4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/iptable_nat.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/iptable_raw.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/xfrm4_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/ip6table_raw.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/ip6table_nat.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/nf_defrag_ipv6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/nf_reject_ipv6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/xfrm6_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/ip6_udp_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/dsa/tag_hellcreek.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/dsa/tag_ocelot_8021q.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/dsa/tag_rzn1_a5psw.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/mptcp/mptcp_crypto_test.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/mptcp/mptcp_token_test.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/packet/af_packet_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/nf_conntrack_bridge.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtables.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtable_broute.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtable_filter.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtable_nat.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/sunrpc/auth_gss/auth_rpcgss.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/sunrpc/auth_gss/rpcsec_gss_krb5.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ieee802154/6lowpan/ieee802154_6lowpan.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ieee802154/ieee802154_socket.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/vmw_vsock/vsock_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>>> ERROR: modpost: "ttm_resource_alloc" 
>>> [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>>> ERROR: modpost: "ttm_tt_create" 
>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>> ERROR: modpost: "ttm_tt_destroy" 
>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>> ERROR: modpost: "ttm_tt_create" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>> ERROR: modpost: "do_send_sig_info" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
@ 2023-09-01 13:30           ` Karolina Stolarek
  0 siblings, 0 replies; 19+ messages in thread
From: Karolina Stolarek @ 2023-09-01 13:30 UTC (permalink / raw)
  To: Christian König, dri-devel, kernel test robot
  Cc: Thomas Hellström, oe-kbuild-all

On 1.09.2023 15:19, Christian König wrote:
> Am 01.09.23 um 14:37 schrieb Karolina Stolarek:
>> On 1.09.2023 14:04, kernel test robot wrote:
>>> Hi Karolina,
>>>
>>> kernel test robot noticed the following build errors:
>>
>> It's a problem of building TTM KUnit tests as a module, the issue is 
>> not tied to a specific arch -- the subtests use unexported 
>> definitions. While it would be possible to add EXPORT_SYMBOL to the 
>> TTM functions, we don't want to do it with do_send_sig_info.
>>
>> Christian, two questions here:
>>
>> 1) Shall we export ttm_resource_alloc, ttm_tt_create and 
>> ttm_tt_destroy? Or is there a reason why they are "hidden"?
> 
> Yeah, those are not supposed to be touched by drivers directly.

Right, makes sense

> 
>>
>> 2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
>> should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
>> tristate? DRM KUnit tests are tristate, but I think they don't use 
>> non-exported functions.
> 
> Another option would be to build them together with TTM into one module, 
> but I'm not sure if the KUNIT tests can do this.

While I can imagine doing it with TTM, I'm not so sure about coupling it 
with signal.o. Still, I'll take a look.

All the best,
Karolina

> 
> Regards,
> Christian.
> 
>>
>> Many thanks,
>> Karolina
>>
>>>
>>> [auto build test ERROR on drm-misc/drm-misc-next]
>>> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next 
>>> drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
>>> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
>>> [If your patch is applied to the wrong git tree, kindly drop us a note.
>>> And when submitting patch, we suggest to use '--base' as documented in
>>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>>
>>> url: 
>>> https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
>>> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
>>> patch link: 
>>> https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
>>> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
>>> config: openrisc-allmodconfig 
>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
>>> compiler: or1k-linux-gcc (GCC) 13.2.0
>>> reproduce (this is a W=1 build): 
>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
>>>
>>> If you fix the issue in a separate patch/commit (i.e. not just a new 
>>> version of
>>> the same patch/commit), kindly add following tags
>>> | Reported-by: kernel test robot <lkp@intel.com>
>>> | Closes: 
>>> https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
>>>
>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_wlc.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_fo.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_ovf.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_lblc.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_lblcr.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_dh.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_sh.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_sed.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_nq.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_twos.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_ftp.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/netfilter/ipvs/ip_vs_pe_sip.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/nf_defrag_ipv4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/nf_reject_ipv4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/iptable_nat.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/netfilter/iptable_raw.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv4/xfrm4_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/ip6table_raw.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/ip6table_nat.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/nf_defrag_ipv6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/netfilter/nf_reject_ipv6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/xfrm6_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ipv6/ip6_udp_tunnel.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/dsa/tag_hellcreek.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_lan9303.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/dsa/tag_ocelot_8021q.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/dsa/tag_rzn1_a5psw.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_sja1105.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_trailer.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_xrs700x.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/mptcp/mptcp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/mptcp/mptcp_crypto_test.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/mptcp/mptcp_token_test.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/packet/af_packet.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/packet/af_packet_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/nf_conntrack_bridge.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtables.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtable_broute.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtable_filter.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/bridge/netfilter/ebtable_nat.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/sunrpc/auth_gss/auth_rpcgss.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/sunrpc/auth_gss/rpcsec_gss_krb5.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_socket.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/6lowpan/6lowpan.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ieee802154/6lowpan/ieee802154_6lowpan.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/ieee802154/ieee802154_socket.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci_spi.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nfc_digital.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>> net/vmw_vsock/vsock_diag.o
>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>>> ERROR: modpost: "ttm_resource_alloc" 
>>> [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>>> ERROR: modpost: "ttm_tt_create" 
>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>> ERROR: modpost: "ttm_tt_destroy" 
>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>> ERROR: modpost: "ttm_tt_create" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>> ERROR: modpost: "do_send_sig_info" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
  2023-09-01 13:30           ` Karolina Stolarek
@ 2023-09-01 13:50             ` Christian König
  -1 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2023-09-01 13:50 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel, kernel test robot
  Cc: oe-kbuild-all, Thomas Hellström

Am 01.09.23 um 15:30 schrieb Karolina Stolarek:
> On 1.09.2023 15:19, Christian König wrote:
>> Am 01.09.23 um 14:37 schrieb Karolina Stolarek:
>>> On 1.09.2023 14:04, kernel test robot wrote:
>>>> Hi Karolina,
>>>>
>>>> kernel test robot noticed the following build errors:
>>>
>>> It's a problem of building TTM KUnit tests as a module, the issue is 
>>> not tied to a specific arch -- the subtests use unexported 
>>> definitions. While it would be possible to add EXPORT_SYMBOL to the 
>>> TTM functions, we don't want to do it with do_send_sig_info.
>>>
>>> Christian, two questions here:
>>>
>>> 1) Shall we export ttm_resource_alloc, ttm_tt_create and 
>>> ttm_tt_destroy? Or is there a reason why they are "hidden"?
>>
>> Yeah, those are not supposed to be touched by drivers directly.
>
> Right, makes sense

If you can't find a cleaner way exporting them conditionally on 
CONFIG_DRM_TTM_KUNIT_TEST might be a way to go.

>
>>
>>>
>>> 2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
>>> should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
>>> tristate? DRM KUnit tests are tristate, but I think they don't use 
>>> non-exported functions.
>>
>> Another option would be to build them together with TTM into one 
>> module, but I'm not sure if the KUNIT tests can do this.
>
> While I can imagine doing it with TTM, I'm not so sure about coupling 
> it with signal.o. Still, I'll take a look.

I have a high level understanding what you are trying to to, but that is 
absolutely not my field of expertise :)

Regards,
Christian.

>
> All the best,
> Karolina
>
>>
>> Regards,
>> Christian.
>>
>>>
>>> Many thanks,
>>> Karolina
>>>
>>>>
>>>> [auto build test ERROR on drm-misc/drm-misc-next]
>>>> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next 
>>>> drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
>>>> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
>>>> [If your patch is applied to the wrong git tree, kindly drop us a 
>>>> note.
>>>> And when submitting patch, we suggest to use '--base' as documented in
>>>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>>>
>>>> url: 
>>>> https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
>>>> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
>>>> patch link: 
>>>> https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
>>>> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo 
>>>> functions
>>>> config: openrisc-allmodconfig 
>>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
>>>> compiler: or1k-linux-gcc (GCC) 13.2.0
>>>> reproduce (this is a W=1 build): 
>>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
>>>>
>>>> If you fix the issue in a separate patch/commit (i.e. not just a 
>>>> new version of
>>>> the same patch/commit), kindly add following tags
>>>> | Reported-by: kernel test robot <lkp@intel.com>
>>>> | Closes: 
>>>> https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
>>>>
>>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>>
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_wlc.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_fo.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_ovf.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_lblc.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_lblcr.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_dh.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_sh.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_sed.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_nq.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_twos.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_ftp.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_pe_sip.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/nf_defrag_ipv4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/nf_reject_ipv4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/iptable_nat.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/iptable_raw.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/udp_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/xfrm4_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/ip6table_raw.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/ip6table_nat.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/nf_defrag_ipv6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/nf_reject_ipv6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/xfrm6_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/ip6_udp_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_hellcreek.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_lan9303.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_ocelot_8021q.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_rzn1_a5psw.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_sja1105.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_trailer.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_xrs700x.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/mptcp/mptcp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/mptcp/mptcp_crypto_test.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/mptcp/mptcp_token_test.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/packet/af_packet.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/packet/af_packet_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/nf_conntrack_bridge.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtables.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtable_broute.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtable_filter.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtable_nat.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/sunrpc/auth_gss/auth_rpcgss.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/sunrpc/auth_gss/rpcsec_gss_krb5.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/caif/caif_socket.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/6lowpan/6lowpan.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ieee802154/6lowpan/ieee802154_6lowpan.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ieee802154/ieee802154_socket.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/nfc/nci/nci_spi.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/nfc/nfc_digital.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/vmw_vsock/vsock_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>>>> ERROR: modpost: "ttm_tt_create" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>> ERROR: modpost: "ttm_tt_destroy" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>>> ERROR: modpost: "ttm_tt_create" 
>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>>> ERROR: modpost: "do_send_sig_info" 
>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>
>>


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
@ 2023-09-01 13:50             ` Christian König
  0 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2023-09-01 13:50 UTC (permalink / raw)
  To: Karolina Stolarek, dri-devel, kernel test robot
  Cc: Thomas Hellström, oe-kbuild-all

Am 01.09.23 um 15:30 schrieb Karolina Stolarek:
> On 1.09.2023 15:19, Christian König wrote:
>> Am 01.09.23 um 14:37 schrieb Karolina Stolarek:
>>> On 1.09.2023 14:04, kernel test robot wrote:
>>>> Hi Karolina,
>>>>
>>>> kernel test robot noticed the following build errors:
>>>
>>> It's a problem of building TTM KUnit tests as a module, the issue is 
>>> not tied to a specific arch -- the subtests use unexported 
>>> definitions. While it would be possible to add EXPORT_SYMBOL to the 
>>> TTM functions, we don't want to do it with do_send_sig_info.
>>>
>>> Christian, two questions here:
>>>
>>> 1) Shall we export ttm_resource_alloc, ttm_tt_create and 
>>> ttm_tt_destroy? Or is there a reason why they are "hidden"?
>>
>> Yeah, those are not supposed to be touched by drivers directly.
>
> Right, makes sense

If you can't find a cleaner way exporting them conditionally on 
CONFIG_DRM_TTM_KUNIT_TEST might be a way to go.

>
>>
>>>
>>> 2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
>>> should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
>>> tristate? DRM KUnit tests are tristate, but I think they don't use 
>>> non-exported functions.
>>
>> Another option would be to build them together with TTM into one 
>> module, but I'm not sure if the KUNIT tests can do this.
>
> While I can imagine doing it with TTM, I'm not so sure about coupling 
> it with signal.o. Still, I'll take a look.

I have a high level understanding what you are trying to to, but that is 
absolutely not my field of expertise :)

Regards,
Christian.

>
> All the best,
> Karolina
>
>>
>> Regards,
>> Christian.
>>
>>>
>>> Many thanks,
>>> Karolina
>>>
>>>>
>>>> [auto build test ERROR on drm-misc/drm-misc-next]
>>>> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next 
>>>> drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
>>>> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
>>>> [If your patch is applied to the wrong git tree, kindly drop us a 
>>>> note.
>>>> And when submitting patch, we suggest to use '--base' as documented in
>>>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>>>
>>>> url: 
>>>> https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
>>>> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
>>>> patch link: 
>>>> https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
>>>> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo 
>>>> functions
>>>> config: openrisc-allmodconfig 
>>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
>>>> compiler: or1k-linux-gcc (GCC) 13.2.0
>>>> reproduce (this is a W=1 build): 
>>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
>>>>
>>>> If you fix the issue in a separate patch/commit (i.e. not just a 
>>>> new version of
>>>> the same patch/commit), kindly add following tags
>>>> | Reported-by: kernel test robot <lkp@intel.com>
>>>> | Closes: 
>>>> https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
>>>>
>>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>>
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_wlc.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_fo.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_ovf.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_lblc.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_lblcr.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_dh.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_sh.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_sed.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_nq.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_twos.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_ftp.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/netfilter/ipvs/ip_vs_pe_sip.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/nf_defrag_ipv4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/nf_reject_ipv4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/iptable_nat.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/netfilter/iptable_raw.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/udp_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv4/xfrm4_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/ip6table_raw.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/ip6table_nat.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/nf_defrag_ipv6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/netfilter/nf_reject_ipv6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/xfrm6_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ipv6/ip6_udp_tunnel.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_hellcreek.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_lan9303.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_ocelot_8021q.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_rzn1_a5psw.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_sja1105.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_trailer.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/dsa/tag_xrs700x.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/mptcp/mptcp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/mptcp/mptcp_crypto_test.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/mptcp/mptcp_token_test.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/packet/af_packet.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/packet/af_packet_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/nf_conntrack_bridge.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtables.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtable_broute.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtable_filter.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/bridge/netfilter/ebtable_nat.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/sunrpc/auth_gss/auth_rpcgss.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/sunrpc/auth_gss/rpcsec_gss_krb5.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/caif/caif_socket.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/6lowpan/6lowpan.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ieee802154/6lowpan/ieee802154_6lowpan.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/ieee802154/ieee802154_socket.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/nfc/nci/nci_spi.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/nfc/nfc_digital.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>> net/vmw_vsock/vsock_diag.o
>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>>>> ERROR: modpost: "ttm_tt_create" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>> ERROR: modpost: "ttm_tt_destroy" 
>>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>>> ERROR: modpost: "ttm_tt_create" 
>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>>> ERROR: modpost: "do_send_sig_info" 
>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>
>>


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions
  2023-09-01 13:50             ` Christian König
  (?)
@ 2023-09-11  9:47             ` Karolina Stolarek
  -1 siblings, 0 replies; 19+ messages in thread
From: Karolina Stolarek @ 2023-09-11  9:47 UTC (permalink / raw)
  To: Christian König, dri-devel, kernel test robot
  Cc: Thomas Hellström, oe-kbuild-all

On 1.09.2023 15:50, Christian König wrote:
> Am 01.09.23 um 15:30 schrieb Karolina Stolarek:
>> On 1.09.2023 15:19, Christian König wrote:
>>> Am 01.09.23 um 14:37 schrieb Karolina Stolarek:
>>>> On 1.09.2023 14:04, kernel test robot wrote:
>>>>> Hi Karolina,
>>>>>
>>>>> kernel test robot noticed the following build errors:
>>>>
>>>> It's a problem of building TTM KUnit tests as a module, the issue is 
>>>> not tied to a specific arch -- the subtests use unexported 
>>>> definitions. While it would be possible to add EXPORT_SYMBOL to the 
>>>> TTM functions, we don't want to do it with do_send_sig_info.
>>>>
>>>> Christian, two questions here:
>>>>
>>>> 1) Shall we export ttm_resource_alloc, ttm_tt_create and 
>>>> ttm_tt_destroy? Or is there a reason why they are "hidden"?
>>>
>>> Yeah, those are not supposed to be touched by drivers directly.
>>
>> Right, makes sense
> 
> If you can't find a cleaner way exporting them conditionally on 
> CONFIG_DRM_TTM_KUNIT_TEST might be a way to go.

In the end, I hacked TTM's Makefile to switch on 
CONFIG_DRM_TTM_KUNIT_TEST=m. I'm not sure if it's a clean approach, but 
thanks to that change I don't need to modify core TTM files. The only 
ifdef I had to add was the one for ttm_bo_reserve_interrupted subtest, 
but I think that's an acceptable compromise. Let's hope the kernel test 
bot agrees :)

Will send the series soon. I'm still sorting things out after coming 
from a sick leave.

All the best,
Karolina

> 
>>
>>>
>>>>
>>>> 2) If we decide to keep ttm_bo_reserve_interrupted subtest as it is, 
>>>> should I make CONFIG_DRM_TTM_KUNIT_TEST a boolean, instead of a 
>>>> tristate? DRM KUnit tests are tristate, but I think they don't use 
>>>> non-exported functions.
>>>
>>> Another option would be to build them together with TTM into one 
>>> module, but I'm not sure if the KUNIT tests can do this.
>>
>> While I can imagine doing it with TTM, I'm not so sure about coupling 
>> it with signal.o. Still, I'll take a look.
> 
> I have a high level understanding what you are trying to to, but that is 
> absolutely not my field of expertise :)
> 
> Regards,
> Christian.
> 
>>
>> All the best,
>> Karolina
>>
>>>
>>> Regards,
>>> Christian.
>>>
>>>>
>>>> Many thanks,
>>>> Karolina
>>>>
>>>>>
>>>>> [auto build test ERROR on drm-misc/drm-misc-next]
>>>>> [also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next 
>>>>> drm-intel/for-linux-next drm-tip/drm-tip linus/master next-20230831]
>>>>> [cannot apply to drm-intel/for-linux-next-fixes v6.5]
>>>>> [If your patch is applied to the wrong git tree, kindly drop us a 
>>>>> note.
>>>>> And when submitting patch, we suggest to use '--base' as documented in
>>>>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>>>>
>>>>> url: 
>>>>> https://github.com/intel-lab-lkp/linux/commits/Karolina-Stolarek/drm-ttm-tests-Add-tests-for-ttm_resource-and-ttm_sys_man/20230831-185954
>>>>> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
>>>>> patch link: 
>>>>> https://lore.kernel.org/r/d914169aee773ee20c0b730b38d42a1fd7613bb6.1693479161.git.karolina.stolarek%40intel.com
>>>>> patch subject: [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo 
>>>>> functions
>>>>> config: openrisc-allmodconfig 
>>>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/config)
>>>>> compiler: or1k-linux-gcc (GCC) 13.2.0
>>>>> reproduce (this is a W=1 build): 
>>>>> (https://download.01.org/0day-ci/archive/20230901/202309011935.bBpezbUQ-lkp@intel.com/reproduce)
>>>>>
>>>>> If you fix the issue in a separate patch/commit (i.e. not just a 
>>>>> new version of
>>>>> the same patch/commit), kindly add following tags
>>>>> | Reported-by: kernel test robot <lkp@intel.com>
>>>>> | Closes: 
>>>>> https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@intel.com/
>>>>>
>>>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>>>
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_wlc.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_fo.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_ovf.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_lblc.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_lblcr.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_dh.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_sh.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_sed.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_nq.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_twos.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_ftp.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/netfilter/ipvs/ip_vs_pe_sip.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv4/netfilter/nf_defrag_ipv4.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv4/netfilter/nf_reject_ipv4.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv4/netfilter/iptable_nat.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv4/netfilter/iptable_raw.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_tunnel.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ipip.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_gre.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv4/udp_tunnel.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ip_vti.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/ah4.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/esp4.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv4/xfrm4_tunnel.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tunnel4.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/inet_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/tcp_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/udp_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv4/raw_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_algo.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xfrm/xfrm_user.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/unix/unix_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv6/netfilter/ip6table_raw.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv6/netfilter/ip6table_nat.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv6/netfilter/nf_defrag_ipv6.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv6/netfilter/nf_reject_ipv6.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/ah6.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/esp6.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv6/xfrm6_tunnel.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/tunnel6.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/mip6.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/ipv6/sit.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ipv6/ip6_udp_tunnel.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ar9331.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_brcm.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_dsa.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_gswip.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/dsa/tag_hellcreek.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ksz.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/dsa/tag_lan9303.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_mtk.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_none.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_ocelot.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/dsa/tag_ocelot_8021q.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_qca.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl4_a.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/dsa/tag_rtl8_4.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/dsa/tag_rzn1_a5psw.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/dsa/tag_sja1105.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/dsa/tag_trailer.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/dsa/tag_xrs700x.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/8021q/8021q.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/xdp/xsk_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/mptcp/mptcp_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/mptcp/mptcp_crypto_test.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/mptcp/mptcp_token_test.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/packet/af_packet.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/packet/af_packet_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/key/af_key.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/bridge/netfilter/nf_conntrack_bridge.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/bridge/netfilter/ebtables.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/bridge/netfilter/ebtable_broute.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/bridge/netfilter/ebtable_filter.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/bridge/netfilter/ebtable_nat.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/bridge/bridge.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sunrpc/sunrpc.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/sunrpc/auth_gss/auth_rpcgss.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/sunrpc/auth_gss/rpcsec_gss_krb5.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/kcm/kcm.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/atm.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/lec.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/atm/mpoa.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/sctp/sctp_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/tipc/diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/smc/smc_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/chnl_net.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/caif/caif_socket.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/caif/caif_usb.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/6lowpan/6lowpan.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ieee802154/6lowpan/ieee802154_6lowpan.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/ieee802154/ieee802154_socket.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/nfc/nci/nci.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/nfc/nci/nci_spi.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/nfc/nfc_digital.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in 
>>>>> net/vmw_vsock/vsock_diag.o
>>>>> WARNING: modpost: missing MODULE_DESCRIPTION() in net/hsr/hsr.o
>>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_resource_test.ko] undefined!
>>>>> ERROR: modpost: "ttm_tt_create" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>>> ERROR: modpost: "ttm_tt_destroy" 
>>>>> [drivers/gpu/drm/ttm/tests/ttm_tt_test.ko] undefined!
>>>>>>> ERROR: modpost: "ttm_resource_alloc" 
>>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>>>> ERROR: modpost: "ttm_tt_create" 
>>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>>>> ERROR: modpost: "do_send_sig_info" 
>>>>>>> [drivers/gpu/drm/ttm/tests/ttm_bo_test.ko] undefined!
>>>>>
>>>
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2023-09-11  9:47 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-31 10:58 [PATCH 0/3] Improve test coverage of TTM Karolina Stolarek
2023-08-31 10:58 ` [PATCH 1/3] drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man Karolina Stolarek
2023-08-31 19:51   ` kernel test robot
2023-08-31 19:51     ` kernel test robot
2023-08-31 10:58 ` [PATCH 2/3] drm/ttm/tests: Add tests for ttm_tt Karolina Stolarek
2023-09-01  3:41   ` kernel test robot
2023-09-01  3:41     ` kernel test robot
2023-08-31 10:58 ` [PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions Karolina Stolarek
2023-09-01 12:04   ` kernel test robot
2023-09-01 12:04     ` kernel test robot
2023-09-01 12:37     ` Karolina Stolarek
2023-09-01 12:37       ` Karolina Stolarek
2023-09-01 13:19       ` Christian König
2023-09-01 13:19         ` Christian König
2023-09-01 13:30         ` Karolina Stolarek
2023-09-01 13:30           ` Karolina Stolarek
2023-09-01 13:50           ` Christian König
2023-09-01 13:50             ` Christian König
2023-09-11  9:47             ` Karolina Stolarek

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.