LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Password
Linux - Embedded & Single-board computer This 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


Reply
  Search this Thread
Old 11-09-2021, 07:24 AM   #1
JuventusFC
LQ Newbie
 
Registered: Jul 2018
Posts: 15

Rep: Reputation: Disabled
serial8250: too much work for irq36


Hi there,

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
  1. Reduce printk lines
  2. 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
 
Old 11-09-2021, 02:41 PM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,420

Rep: Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339
2 things spring to mind
  1. 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.
  2. 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 members found this post helpful.
Old 11-12-2021, 02:39 AM   #3
JuventusFC
LQ Newbie
 
Registered: Jul 2018
Posts: 15

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by business_kid View Post
2 things spring to mind
  1. 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.
  2. 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
 
Old 11-12-2021, 03:41 AM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,420

Rep: Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339Reputation: 2339
Quote:
Originally Posted by JuventusFC View Post
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
On that much information, neither am I!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How much swap area is enough/too much? Beowulf questions tnandy Linux - Software 4 06-14-2019 03:30 PM
LXer: My Nerd Life: Too Loud, Too Funny, Too Smart, Too Fat LXer Syndicated Linux News 0 01-24-2014 05:21 AM
LXer: Linux And Unix Internet User And Site Security - How Much Is Too Much? LXer Syndicated Linux News 0 12-04-2008 01:10 PM
How much swap usage is too much? sneakyimp Linux - Hardware 3 11-30-2006 04:48 PM
serial8250 : too many request for irq 10 peevee Linux - Laptop and Netbook 1 09-04-2004 12:05 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer

All times are GMT -5. The time now is 01:58 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration