[PATCH 3/3] drm/ttm/tests: Add tests for ttm_bo functions

Karolina Stolarek karolina.stolarek at intel.com
Mon Sep 11 09:47:03 UTC 2023


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 at 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!
>>>>>
>>>
> 


More information about the dri-devel mailing list