Wind River Support Network

HomeDefectsLIN1022-1424
Fixed

LIN1022-1424 : BUG: sleeping function called from invalid context at gen8_reset_engines() on NUC7 target

Created: Aug 23, 2022    Updated: Feb 26, 2024
Resolved Date: Feb 26, 2024
Found In Version: 10.22.33.1
Severity: Standard
Applicable for: Wind River Linux LTS 22
Component/s: Kernel

Description

setup.sh --machines intel-x86-64 --templates feature/intel-qat feature/xfce feature/dpdk feature/bsp-extras feature/docker feature/kexec feature/kdump feature/lxc feature/tpm2 --layers meta-dpdk --distro wrlinux-cgl --dl-layers --accept-eula=yes
source environment-setup-x86_64-wrlinuxsdk-linux
source oe-init-build-env build
bitbake wrlinux-image-cgl

build and install pm-graph from https://github.com/intel/pm-graph

sleepgraph -m mem -rtcwake 60  -o suspend_dev -mindev 1 -dev

[ 7731.032135] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:46
[ 7731.032140] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 45092, name: kworker/u8:4
[ 7731.032144] preempt_count: 1, expected: 0
[ 7731.032147] RCU nest depth: 0, expected: 0
[ 7731.032149] INFO: lockdep is turned off.
[ 7731.032151] Preemption disabled at:
[ 7731.032153] [<ffffffffc0636522>] __intel_gt_reset+0x92/0x100 [i915]
[ 7731.032343] CPU: 3 PID: 45092 Comm: kworker/u8:4 Tainted: G        W  O      5.15.59-rt48-yocto-preempt-rt #1
[ 7731.032354] Hardware name: Intel(R) Client Systems NUC7i5DNKE/NUC7i5DNB, BIOS DNKBLi5v.86A.0064.2019.0523.1933 05/23/2019
[ 7731.032359] Workqueue: events_unbound async_run_entry_fn
[ 7731.032372] Call Trace:
[ 7731.032375]  <TASK>
[ 7731.032381]  show_stack+0x52/0x5c
[ 7731.032397]  dump_stack_lvl+0x5b/0x86
[ 7731.032413]  dump_stack+0x10/0x16
[ 7731.032425]  __might_resched.cold+0xf7/0x12f
[ 7731.032441]  ? __gen6_reset_engines.constprop.0+0x80/0x80 [i915]
[ 7731.032657]  rt_spin_lock+0x4e/0xf0
[ 7731.032670]  ? gen8_reset_engines+0x2e/0x1e0 [i915]
[ 7731.032824]  gen8_reset_engines+0x2e/0x1e0 [i915]
[ 7731.032961]  ? __gen6_reset_engines.constprop.0+0x80/0x80 [i915]
[ 7731.033094]  __intel_gt_reset+0x9d/0x100 [i915]
[ 7731.033231]  gt_sanitize+0x16c/0x190 [i915]
[ 7731.033390]  intel_gt_suspend_late+0x3d/0xc0 [i915]
[ 7731.033519]  i915_gem_suspend_late+0x57/0x130 [i915]
[ 7731.033674]  i915_drm_suspend_late+0x38/0x110 [i915]
[ 7731.033776]  i915_pm_suspend_late+0x1d/0x30 [i915]
[ 7731.033873]  pm_generic_suspend_late+0x28/0x40
[ 7731.033881]  pci_pm_suspend_late+0x37/0x50
[ 7731.033891]  ? pci_pm_poweroff_late+0x50/0x50
[ 7731.033900]  dpm_run_callback.cold+0x3c/0xa8
[ 7731.033911]  __device_suspend_late+0xa4/0x1e0
[ 7731.033923]  async_suspend_late+0x20/0xa0
[ 7731.033932]  async_run_entry_fn+0x28/0xc0
[ 7731.033940]  process_one_work+0x239/0x6c0
[ 7731.033959]  worker_thread+0x58/0x3e0
[ 7731.033972]  kthread+0x1a9/0x1d0
[ 7731.033979]  ? process_one_work+0x6c0/0x6c0
[ 7731.033987]  ? set_kthread_struct+0x50/0x50
[ 7731.033997]  ret_from_fork+0x1f/0x30
[ 7731.034019]  </TASK>
[ 7731.047501] PM: late suspend of devices complete after 26.497 msecs

Steps to Reproduce

http://pek-lpgtest7408.wrs.com/buildarea1/SharedImage/LTS22/BSP/intel-x86-64_standard_glibc-cgl/20220823_062454/build_steps.log


/lpg-build/cdc/fast_prod/WRL10_22/WRL10_22_GIT/wrlinux-10/setup.sh --machines intel-x86-64 --templates feature/intel-qat feature/xfce feature/dpdk feature/bsp-extras feature/docker feature/kexec feature/kdump feature/lxc feature/tpm2 --layers meta-dpdk --distro wrlinux-cgl --dl-layers --accept-eula=yes
source environment-setup-x86_64-wrlinuxsdk-linux
source oe-init-build-env build
echo 'GPG_PATH = "/tmp/tmp.NUl77tPfCx"' >> conf/local.conf
echo '
TEST_SPIN = "GIT_20220823"
TEST_SPRINT = "WRL-10.22.33.1(LTS22)"
TEST_PLAN_WEEK = "2022WW34"' >> conf/local.conf

cat << EOF >> customized_test_plan.ini
[Test_Case]
acpis3_rtcwake_fun
acpis3_rtcwake_storage_aio
acpis3_rtcwake_storage_bonnie
acpis3_rtcwake_storage_dd
acpis3_rtcwake_storage_fio
acpis3_rtcwake_storage_format
acpis3_rtcwake_storage_hdparm
acpis3_rtcwake_storage_iozone
acpis3_rtcwake_storage_sync
acpis3_rtcwake_storage_tiobench
acpis4_rtcwake
audio_aplay
audio_aplay_1s
audio_check_device
audio_mic_test
audio_speaker_test
bluetooth_l2ping
bluetooth_scan
bluetooth_sys_check
bootcheck_backtrace
bootcheck_calltrace
bootcheck_error
bootcheck_exception
bootcheck_kerbug
bootcheck_kmemleak
bootcheck_nullpoint
bootcheck_pcimatch
bootcheck_segfault
bootcheck_warning
bootimg_check
can_check_info
can_sys_check
checkproc_cpufreq
checkproc_files
check_valid_partition
checkx86pkg_warning
clock_switched
cma_sanity_check
coredump_debug
cpuarch_timer_check
cpufreq_bench
cpufreq_ondemand
cpufreq_perf_event
cpufreq_performance
cpufreq_powersave
cpufreq_schedutil
cpufreq_sys_check
cpuhotplug_offline
cpuhotplug_online
cpuidle_function
cpuidle_perf_event
cpuidle_sys_check
dma_kernel_test
docker_check_config
docker_compose_build
docker_compose_ps
docker_compose_scale_down
docker_compose_scale_up
docker_compose_up
docker_helloworld
dpdk_byteorder
dpdk_helloworld
dpdk_l2fwd
dpdk_link_status_interrupt
dpdk_logs_test
dpdk_malloc
dpdk_mbuf
dpdk_memory
dpdk_memzone
dpdk_prefetch
dpdk_rwlock_test1_autotest
dpdk_spinlock
dpdk_spinlock_autotest
dpdk_testpmd
dpdk_unittest_cmdline
dpdk_unittest_crc
dpdk_unittest_lpm
dpdk_unittest_lpm6
dpdk_unittest_metering
dpdk_unittest_red
dpdk_unittest_ring
dpdk_unittest_ring_perf
dpdk_unittest_ring_pmd
dpdk_unittest_scheduler
dpdk_unittest_timer
edac_ctl_test
edac_inject_error
edac_module_test
edac_service_test
edac_sys_check
edac_util_test
ethernet_autoneg_restrict
ethernet_buffer_ring
ethernet_change_speed
ethernet_check_mac
ethernet_coalescing
ethernet_dump_register
ethernet_fping
ethernet_iperf_tcp
ethernet_iperf_udp
ethernet_ipv6_ping
ethernet_ipv6_radvd
ethernet_jump_frame
ethernet_netperf_tcprr
ethernet_netperf_tcpstream
ethernet_netperf_udprr
ethernet_netperf_udpstream
ethernet_packets_netcat
ethernet_ping
ethernet_sriov
ethernet_statistics
ethernet_vlan_ping
fman_sys_check
gdb_multi_timer
gdbtest
gpio_sys_check
graphic_change_resolution
graphic_glxgears
graphic_show_status
graphic_x11perf
graphic_xrandr_show
hwmonitor_test
i2c_sys_check
intel_exploring_test
intel_kvm_sanity
intel_pclmulqdq_check_flag
intel_powerclamp_sys_check
intel_pt_sys_check
intel_rapl_detect
intel_rapl_sys_check
intel_reseeds_check_flags
intel_reseeds_rng_tools
iommu_intel_sanity
kdump_smp_up
kdump_smp_up_systemd
kernwarning_buildcheck
kexec_smp_smp
kmod_test
lspci_test
malloc_loop
mces_check_cpu_supported
mdelay_test
memory_size_check
microcode_check_device
microcode_sys_check
numa_check_dmesg
numa_check_nodes
numa_check_support
numa_check_sys
numa_demo
numa_shownodes
numa_stat
pci_generic_uio
pci_hotplug
pci_msi
perf_events_cpu
perf_events_l1_cache
perf_events_ll_cache
perf_events_mem
perf_events_sched
perf_events_syscall
perf_events_syscall_enter
perf_events_syscall_exit
perf_events_timer
perf_events_tlb
perf_events_uncore
perf_events_with_load
pm_basic_sleepgraph
pm_dev_sleepgraph
pm_pmgraph_check
pm_proc_sleepgraph
pm_suspend_sleepgraph
poweroff
qat_check_service
qat_sample_code
ramspeed
readme_check
reboot
restart
rtc_alarm
rtc_hctosys
rtc_hwclock_selftest
rtc_sys_check
rtc_systohc
sem_test
serial_getty_tty
shutdown_2min_later
shutdown_now
spi_sys_check
storage_aio_stress
storage_bonnie
storage_copy_big_file
storage_dd_100M
storage_dd_1G
storage_dd_500M
storage_dd_5G
storage_dd_f2fs
storage_fio_f2fs
storage_fio_flow
storage_fio_latency
storage_fio_randread
storage_fio_rand_rw
storage_fio_randwrite
storage_fio_read
storage_fio_rw
storage_fio_stonewalls
storage_fio_stress
storage_fio_write
storage_fio_zone
storage_format_ext4
storage_format_f2fs
storage_hdparm
storage_ionice_bfq
storage_ionice_kyber
storage_ionice_mqdeadline
storage_ionice_none
storage_iozone
storage_nfs_mounts
storage_scheduler_bfq
storage_scheduler_f2fs
storage_scheduler_kyber
storage_scheduler_mqdeadline
storage_scheduler_none
storage_sync_big_file
storage_sync_multi_file
storage_tiobench
stress_cpu
stress_cpu_mem_io
stress_io
stress_memory
temp_sensors
temp_sys_check
tpm2
tpm2_abrmd_extended-sessions
tpm2_abrmd_nvundefinespecial
tpm2_abrmd_policyauthorize
tpm2_abrmd_policyauthorizenv
tpm2_abrmd_policyauthvalue
tpm2_abrmd_policycommandcode
tpm2_abrmd_policycountertimer
tpm2_abrmd_policyduplicationselect
tpm2_abrmd_policynamehash
tpm2_abrmd_policynv
tpm2_abrmd_policynvwritten
tpm2_abrmd_policyor
tpm2_abrmd_policypassword
tpm2_abrmd_policysecret
tpm2_abrmd_policysigned
tpm2_abrmd_policytemplate
tpm2_abrmd_policyticket
tpm2_activecredential
tpm2_attestation
tpm2_certify
tpm2_certifycreation
tpm2_changeauth
tpm2_changeeps
tpm2_changepps
tpm2_checkquote
tpm2_clear
tpm2_clearcontrol
tpm2_clockrateadjust
tpm2_create
tpm2_createak
tpm2_createek
tpm2_createpolicy
tpm2_createprimary
tpm2_dictionarylockout
tpm2_duplicate
tpm2_encryptdecrypt
tpm2_evictcontrol
tpm2_flushcontext
tpm2_getcap
tpm2_getekcertificate
tpm2_getrandom
tpm2_gettestresult
tpm2_gettime
tpm2_hash
tpm2_hierarchycontrol
tpm2_hmac
tpm2_import
tpm2_import_tpm
tpm2_incrementalselftest
tpm2_load
tpm2_loadexternal
tpm2_makecredential
tpm2_nv
tpm2_nvcertify
tpm2_nvinc
tpm2_output_formats
tpm2_pcrallocate
tpm2_pcrevent
tpm2_pcrextend
tpm2_pcrlist
tpm2_pcrreset
tpm2_print
tpm2_quote
tpm2_readclock
tpm2_readpublic
tpm2_rsadecrypt
tpm2_rsaencrypt
tpm2_selftest
tpm2_send
tpm2_setclock
tpm2_setprimarypolicy
tpm2_sign
tpm2_startup
tpm2_stirrandom
tpm2_testparms
tpm2_unseal
tpm2_verifysignature
turbostat_test
udelay_test
usb_show_device
watchdog_check_device
watchdog_check_node
watchdog_get_monitor
watchdog_get_status
watchdog_keep_alive
watchdog_magic_close
watchdog_set_timeout
watchdog_sys_check
watchdog_timeout_triggered
wifi_basic_func
wifi_device_check
wireless_lxc_namespace
[Test_HW]
EOF

bitbake-layers add-layer /lpg-build/cdc/WASSP_LINUX_1022/testcases/wrlinux/wr-testing/bts-dev
echo '
require templates/feature/bts/template.conf
IMAGE_FSTYPES += " tar.bz2"
BB_NO_NETWORK:pn-lmbench = "0"
ACTIVE_PLAN = "customized_test_plan.ini"' >> conf/local.conf
echo 'IMAGE_FSTYPES:remove = " live hddimg iso"' >> conf/local.conf
echo '
#Bellow is basic env, used by wr-test_0.1.0.bb
TEST_RELEASE_NAME = "WRLinux 10.22"
TEST_ROOTFS_TYPE = "glibc-cgl"
TEST_MULTILIB = ""
TEST_TESTER_NAME = ""
TEST_REQUIREMANTS = "LINUXEXEC-20546"
TEST_TARGET_NAME = "builder"
TEST_TAGS = ""' >> conf/local.conf
echo 'TEST_KEYWORD = ""' >> conf/local.conf
bitbake wrlinux-image-cgl
Live chat
Online