 |
|
|
 |
 |
|
 |
 |
 |
 |
|
|
|
OpenRISC 1000: Tracker : [or1ksim] serial8250: too much work for irq2
|
Monitor this item
You will be notified via email when status of this item is changed or if somebody adds a comment.
| |
[or1ksim] serial8250: too much work for irq2
| Type |
BUG |
| Status |
CLOSED |
|
In or1ksim-0.2.0rc2, I got "serial8250: too much work for irq2" while cat file. See the log below for details.
[xzeng@xzeng linux-2.6.19]$ telnet localhost 10084
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Linux version 2.6.19-or32 (root@x...) (gcc version 4.2.2) #1 Tue Aug 26 09:52:09 HKT 2008
Detecting Processor units:
Signed 0x391
Setting up paging and PTEs.
write protecting ro sections (0xc0002000 - 0xc024e000)
Setting up identical mapping (0x80000000 - 0x90000000)
Setting up identical mapping (0x92000000 - 0x92002000)
Setting up identical mapping (0xb8070000 - 0xb8072000)
Setting up identical mapping (0x97000000 - 0x97002000)
Setting up identical mapping (0x99000000 - 0x9a000000)
Setting up identical mapping (0x93000000 - 0x93002000)
Setting up identical mapping (0xa6000000 - 0xa6100000)
Setting up identical mapping (0x1e50000 - 0x1fa0000)
dtlb_miss_handler c00040c8
itlb_miss_handler c00041a8
Built 1 zonelists. Total pages: 3953
Kernel command line: root=/dev/ram console=ttyS0
PID hash table entries: 128 (order: 7, 512 bytes)
start_kernel(): bug: interrupts were enabled early
Console: colour dummy device 80x25
Dentry cache hash table entries: 4096 (order: 1, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 0, 8192 bytes)
Memory: 26568k/31744k available (2213k kernel code, 5176k reserved, 252k data, 112k init, 0k highmem)
Mount-cache hash table entries: 1024
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 2048k freed
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 256 (order: -3, 1024 bytes)
TCP established hash table entries: 1024 (order: -1, 4096 bytes)
TCP bind hash table entries: 512 (order: -2, 2048 bytes)
TCP: Hash tables configured (established 1024 bind 512)
TCP reno registered
eth0: Open Ethernet Core Version 1.0
rcu-torture:--- Start of test: nreaders=2 nfakewriters=4 stat_interval=0 verbose=0 test_no_idle_hz=0 shuffle_interval = 5
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 2048 (order 0, 8192 bytes)
Installing knfsd (copyright (C) 1996 okir@m...).
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x90000000 (irq = 2) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 2048KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 112k freed
init started: BusyBox v1.7.5 (2008-08-26 09:27:41 HKT)
starting pid 22, tty '': '/etc/init.d/rcS' Please press Enter to activate this console.
starting pid 24, tty '': '/bin/sh'
BusyBox v1.7.5 (2008-08-26 09:27:41 HKT) built-in shell (ash)
Enter 'help' for a list of built-in commands. /bin/sh: can't access tty; job control turned off
# #
# # cd /etc
cd /etc # # ls
ls fstab init.d inittab
# # cat inittab
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2 [cut off]
|
|
| |
|
Stats
Nobody is monitoring this item
|
|
Comments
 |
by Jeremy Bennett
on 05-Sep-2008
|
Thanks Zeng,
Rich D'Addio has investigated. Here's what he's found
As it turns out that bug:
serial8250: too much work for irq2
is actually a well known problem that has been cropping up on different platforms and linux versions/packages for a while.
Rob Landley from uClibc posted a serial port patch but I need to study it a bit more since it was for a slightly different UART.
Some people were so frustrated with the silly check they just changed:
#define PASS_LIMIT 256
In linux-2.6.23/driver/serial/8250.c to something like:
#define PASS_LIMIT 0x100000
I quickly tested this for the umount /proc case and it seemed to clear it up. But this is not really a solution but rather a dumb band-aid. Anyhow my plan is to put in Rob's fix but in the interim this hammer can be used on the screw. :)
Rich d
|
| |
 |
by Xianfeng Zeng
on 05-Sep-2008
|
|
Testing with binutils 2.16.1, gcc 3.4.4 and uClibc 0.9.28.3, and passed
|
| |
 |
by Jeremy Bennett
on 04-Sep-2008
|
Hi Zeng,
This appears to be a different problem. I can only reproduce the last part of your error. I am not sure that "umount /proc" is a good thing to do to any Linux system.
From your email to the OpenRISC mailing list, I believe you are not using the recommended versions of all tools in the tool chain. Do you get the same problem if you use binutils 2.16.1, gcc 3.4.4 and uClibc 0.9.28.3?
I have reopened the bug and assigned it to Rich D'Addio, who is the expert in Linux.
Jeremy
|
| |
 |
by Xianfeng Zeng
on 04-Sep-2008
|
|
Thanks to Jeremy
But I still got the same issue when umount /proc through using Linux-2.6.23 and or1ksim-0.2.0.
Got another issue: (Don't know if it is a known issue)
# # ls /proc
ls /proc
ls: can't open '/proc': Unknown error 22
Please refer to the log below for more detail
Linux version 2.6.23-or32 (root@xzeng.sa) (gcc version 4.2.2) #6 Thu Sep 4 17:20:56 HKT 2008
Detecting Processor units:
Signed 0x391
Setting up paging and PTEs.
write protecting ro sections (0xc0002000 - 0xc029c000)
Setting up identical mapping (0x80000000 - 0x90000000)
Setting up identical mapping (0x92000000 - 0x92002000)
Setting up identical mapping (0xb8070000 - 0xb8072000)
Setting up identical mapping (0x97000000 - 0x97002000)
Setting up identical mapping (0x99000000 - 0x9a000000)
Setting up identical mapping (0x93000000 - 0x93002000)
Setting up identical mapping (0xa6000000 - 0xa6100000)
Setting up identical mapping (0x1e50000 - 0x1fa0000)
dtlb_miss_handler c00040c8
itlb_miss_handler c00041a8
Built 1 zonelists in Zone order. Total pages: 3953
Kernel command line:
PID hash table entries: 128 (order: 7, 512 bytes)
start_kernel(): bug: interrupts were enabled early
Console: colour dummy device 80x25
Dentry cache hash table entries: 4096 (order: 1, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 0, 8192 bytes)
Memory: 26272k/31744k available (2478k kernel code, 5472k reserved, 295k data, 112k init, 0k highmem)
Mount-cache hash table entries: 1024
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 0, 8192 bytes)
TCP established hash table entries: 1024 (order: 0, 8192 bytes)
TCP bind hash table entries: 1024 (order: -1, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 2048k freed
eth0: Open Ethernet Core Version 1.0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 2048 (order 0, 8192 bytes)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x90000000 (irq = 2) is a 16550A
console [ttyS0] enabled
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: module loaded
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 2048KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 112k freed
init started: BusyBox v1.7.5 (2008-09-04 17:07:38 HKT)
starting pid 16, tty '': '/etc/init.d/rcS'
starting pid 22, tty '': '/bin/sh'
BusyBox v1.7.5 (2008-09-04 17:07:38 HKT) built-in shell (ash)
Enter 'help' for a list of built-in commands.
-sh: can't access tty; job control turned off
# mount
mount
rootfs on / type rootfs (rw)
/dev/root on / type ext2 (ro)
tmpfs on /var type tmpfs (rw)
devpts on /dev/pts type devpts (rw)
sysfs on /sys type sysfs (rw)
proc on /proc type proc (rw)
# # cd /
cd /
# # ls -l
ls -l
drwxr-xr-x 2 0 0 1024 Sep 4 2008 bin
drwxr-xr-x 4 0 0 1024 Sep 4 2008 dev
drwxr-xr-x 3 0 0 1024 Sep 4 2008 etc
drwxr-xr-x 2 0 0 1024 Mar 20 2007 home
lrwxrwxrwx 1 0 0 11 Sep 4 2008 linuxrc -> bin/busybox
dr-xr-xr-x 24 0 0 0 Apr 11 11:48 proc
drwxr-xr-x 2 0 0 1024 Mar 20 2007 root
drwxr-xr-x 2 0 0 1024 Sep 4 2008 sbin
drwxr-xr-x 10 0 0 0 Apr 11 11:48 sys
drwxr-xr-x 2 0 0 1024 Mar 20 2007 tmp
drwxr-xr-x 3 0 0 1024 Sep 4 2008 usr
drwxr-xr-x 5 0 0 0 Apr 11 11:49 var
# # ls /proc
ls /proc
ls: can't open '/proc': Unknown error 22
# # umount /proc
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
serial8250: too much work for irq2
|
| |
 |
by Jeremy Bennett
on 02-Sep-2008
|
|
Hi Zerng,
This is a known bug in the Linux 2.6.19 version of Linux. There are two causes: 1) the baud rate of the terminal is set 16x too high (2Mb/s rather than 115kb/s) and 2) the microsecond timer code doesn't work.
Both of these have been fixed in the Linux 2.6.23 version by Rich D'Addio, which includes all the other bug fixes, a prepared .config file and a prepared RAMdisk image.
For details, see either Rich D'Addio's posting to the OpenRISC mailing list on 17 August, or the Embecosm Application Note EAN2 at http://www.embecosm.com/download/ean2.html (issue 2 has the details for Linux 2.6.23).
I believe this will fix your problem, so I'm marking the issue as closed.
Jeremy
|
| |
Add your comment
|
 |
|
|
 |
|
Copyright (c) 1999
OPENCORES.ORG. All rights reserved.
|
|
|
|
 |
 |