Linux - Embedded & Single-board computerThis forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am currently working on Poky on an embedded PPC system.
I am experiencing a "serial8250: too much work for irq36" problem around 50-75% times I try to boot.
What I was thinking to do is
Reduce printk lines
Check if there is any fix about this error on Linux source files update
The error I am observing is this one::
Code:
serial8250_interrupt: 8544 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8881 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8881 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8880 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250_interrupt: 8881 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
INFO: rcu_sched self-detected stall on CPU
3: (1 GPs behind) idle=f9f/140000000000001/0 softirq=0/0 fqs=1699
INFO: rcu_sched detected stalls on CPUs/tasks:
0: (1 GPs behind) idle=965/140000000000001/0 softirq=0/0 fqs=1699
3: (1 GPs behind) idle=f9f/140000000000001/0 softirq=0/0 fqs=1699
(detected by 1, t=52517 jiffies, g=91, c=90, q=161)
Task dump for CPU 0:
(agetty) R running 0 1915 1 0x00000084
Call Trace:
[ed0079a0] [c005b408] update_cfs_rq_blocked_load+0xb8/0x1c0 (unreliable)
[ed007a60] [00000211] 0x211
Task dump for CPU 3:
systemd-journal R running 0 957 1 0x00000004
Call Trace:
rcu_sched kthread starved for 50818 jiffies!
(t=52529 jiffies g=91 c=90 q=161)
rcu_sched kthread starved for 50831 jiffies!
Task dump for CPU 0:
(agetty) R running 0 1915 1 0x00000084
Call Trace:
[ed0079a0] [c005b408] update_cfs_rq_blocked_load+0xb8/0x1c0 (unreliable)
[ed007a60] [00000211] 0x211
Task dump for CPU 3:
systemd-journal R running 0 957 1 0x00000004
Call Trace:
[e9ee9b80] [c007f948] rcu_dump_cpu_stacks+0xa8/0x100 (unreliable)
[e9ee9ba0] [c008386c] rcu_check_callbacks+0x4fc/0x7b0
[e9ee9c10] [c008725c] update_process_times+0x3c/0x70
[e9ee9c20] [c009afb8] tick_sched_timer+0x68/0xe0
[e9ee9c50] [c00880b4] __run_hrtimer.isra.34+0x54/0xf0
[e9ee9c70] [c00889b8] hrtimer_interrupt+0x118/0x330
[e9ee9ce0] [c0009658] __timer_interrupt+0xa8/0x1a0
[e9ee9d00] [c0009980] timer_interrupt+0xb0/0xe0
[e9ee9d20] [c000f7e0] ret_from_except+0x0/0x18
--- interrupt: 901 at smp_call_function_many+0x2a0/0x300
LR = smp_call_function_many+0x270/0x300
[e9ee9de0] [c00a033c] smp_call_function_many+0x24c/0x300 (unreliable)
[e9ee9e20] [c00177cc] flush_tlb_mm+0x9c/0xa0
[e9ee9e40] [c00f8dd8] tlb_flush_mmu_tlbonly.part.86+0x18/0x90
[e9ee9e50] [c00f8f54] tlb_flush_mmu+0x24/0x40
[e9ee9e60] [c00f8f88] tlb_finish_mmu+0x18/0x70
[e9ee9e70] [c00fee00] unmap_region+0xc0/0x140
[e9ee9ef0] [c01013ec] do_munmap+0x26c/0x430
[e9ee9f20] [c01015e8] vm_munmap+0x38/0x60
[e9ee9f40] [c000f130] ret_from_syscall+0x0/0x3c
--- interrupt: c01 at 0x201842fc
LR = 0x20117090
serial8250_interrupt: 8544 callbacks suppressed
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
serial8250: too much work for irq36
1. There were 2 chips used for serial interfaces: the 8250, which was the old/crappy/slow one; the 16550 which superceded it. Get on a 16550 if you can.
In the old days it used be possible to set interrupts as level or edge triggered.
If you can set your interrupts to edge triggered, that will probably solve it. I take it this is a museum piece, with a heavily obsolete 8250? AFAIK, they haven't been made since the 1980s.
1. There were 2 chips used for serial interfaces: the 8250, which was the old/crappy/slow one; the 16550 which superceded it. Get on a 16550 if you can.
In the old days it used be possible to set interrupts as level or edge triggered.
If you can set your interrupts to edge triggered, that will probably solve it. I take it this is a museum piece, with a heavily obsolete 8250? AFAIK, they haven't been made since the 1980s.
Hi, thank you for your reply!
Could you please describe me which option shall be enabled or disabled? I found something about 8250 in the kernel config menu but I am not sure about them
Could you please describe me which option shall be enabled or disabled? I found something about 8250 in the kernel config menu but I am not sure about them
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.