Kernel reports bug

Topics about the Software of Revolution Pi
Post Reply
tecki
Posts: 1
Joined: 27 Nov 2023, 11:57
Answers: 0

Kernel reports bug

Post by tecki »

Hi,

I just got a brand new revolution Pi connect 4. I use it as it came installed, just did a "sudo apt-get dist-upgrade" to be up-to-date, so

$ cat /proc/version
Linux version 5.10.152-rt75-v8 (support@kunbus.com) (aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP PREEMPT_RT Tue, 26 Sep 2023 09:43:32 +0200

Note that I am using XDP and eBPF to filter data on eth0.

now the end of dmesg reports:

[ 3854.437248] BUG: scheduling while atomic: irq/43-eth0/2667/0x00000002
[ 3854.437267] Modules linked in: rfkill bcm2835_codec(C) bcm2835_isp(C) bcm2835_v4l2(C) raspberrypi_hwmon bcm2835_mmal_vchiq(C) v4l2_mem2mem videobuf2_dma_contig videobuf2_vmalloc videobuf2_memops snd_bcm2835(C) videobuf2_v4l2 snd_pcm videobuf2_common snd_timer videodev snd mc vc_sm_cma(C) rpivid_mem nvmem_rmem uio_pdrv_genirq uio tpm_tis_spi tpm_tis_core tpm piControl(O) ad5446 ti_dac082s085 mcp320x iio_mux mux_gpio mux_core gpio_74x164 spi_bcm2835aux spi_bcm2835 gpio_max3191x crc8 industrialio i2c_dev fuse drm drm_panel_orientation_quirks backlight ip_tables x_tables ipv6
[ 3854.437360] Preemption disabled at:
[ 3854.437362] [<ffffffc010945844>] __netif_receive_skb_core+0x1b0/0xa30
[ 3854.437383] CPU: 0 PID: 2667 Comm: irq/43-eth0 Tainted: G WC O 5.10.152-rt75-v8 #1
[ 3854.437389] Hardware name: Raspberry Pi Compute Module 4 Rev 1.1 (DT)
[ 3854.437391] Call trace:
[ 3854.437393] dump_backtrace+0x0/0x1b4
[ 3854.437402] show_stack+0x20/0x2c
[ 3854.437408] dump_stack+0xec/0x154
[ 3854.437414] __schedule_bug+0xb0/0xc0
[ 3854.437419] __schedule+0x760/0x880
[ 3854.437422] preempt_schedule_lock+0x28/0x50
[ 3854.437426] rt_spin_lock_slowlock_locked+0x118/0x2b0
[ 3854.437430] rt_spin_lock_slowlock+0x60/0xa0
[ 3854.437434] rt_spin_lock+0x68/0x80
[ 3854.437440] free_one_page+0x48/0x100
[ 3854.437444] __free_pages_ok+0x310/0x560
[ 3854.437447] page_frag_free+0x88/0x9c
[ 3854.437450] pskb_expand_head+0xd4/0x334
[ 3854.437456] netif_receive_generic_xdp+0xa4/0x4f4
[ 3854.437461] __netif_receive_skb_core+0x1d4/0xa30
[ 3854.437466] __netif_receive_skb_list_core+0xec/0x220
[ 3854.437471] netif_receive_skb_list_internal+0x184/0x2a0
[ 3854.437476] napi_complete_done+0x70/0x200
[ 3854.437481] bcmgenet_rx_poll+0x3a0/0x430
[ 3854.437488] net_rx_action+0x194/0x4b4
[ 3854.437493] __do_softirq+0x168/0x48c
[ 3854.437497] __local_bh_enable_ip+0x154/0x190
[ 3854.437503] irq_forced_thread_fn+0x88/0xcc
[ 3854.437508] irq_thread+0x1c0/0x294
[ 3854.437512] kthread+0x194/0x1a0
[ 3854.437515] ret_from_fork+0x10/0x3c

I will try to downgrade from the rt kernel to a standard kernel and hope.

Cheers

Martin
u.biakoup
KUNBUS
Posts: 182
Joined: 14 Apr 2022, 13:04
Answers: 2

Re: Kernel reports bug

Post by u.biakoup »

Hi martin,
it seems like you're encountering scheduling issues with the real-time kernel on your Revolution Pi Connect 4, as indicated by the BUG report in your dmesg logs.

To address this, I recommend considering a custom kernel build using the Kernel Bakery tool available at this link: Kernel Bakery GitLab Repository.

Building your own kernel allows you to tailor it to your specific needs and potentially resolve the scheduling issues you're facing. Ensure that you carefully configure the kernel options, including those related to real-time capabilities and networking, to create a kernel that better suits your use case.

If you have any questions or need assistance during the process, feel free to reach out. Best of luck with your kernel customization, and I hope it resolves the issues you're currently experiencing.

Best Regards,

Ulrich Kouatang Biakoup | Technical Support
User avatar
p.rosenberger
KUNBUS
Posts: 89
Joined: 03 Jul 2020, 11:07
Answers: 1

Re: Kernel reports bug

Post by p.rosenberger »

Yes, this might be rt related.

If use a RaspberryPi kernel, you will have some limitations:
  • Extension modules (DIO, AIO, ...) will not work
  • The watchdog of the Connect 4 will not work (there is a bug, which is fixed on the RevPi kernel)
  • Some USB CAN adapters might not work as the drivers are missing from the RPi kernel
If these limitations don't affect you, the RPi kernel is an option.
Post Reply