Strange L4Linux behavior

Jugwan Eom zugwan at postech.ac.kr
Thu Apr 13 20:47:26 CEST 2006


2006-03-31 (금), 01:06 +0200, Adam Lackorzynski 쓰시길:
> On Fri Mar 31, 2006 at 05:38:24 +0900, Jugwan Eom wrote:
> > L4Linux fails to run correctly with the SCSI and network device under
> > heavy load.
> > My system has a Adaptec AIC7902 SCSI adapter (one SCSI hard disk is
> > connected) and a E1000 network adapter. When the two devices is used at
> > the same time under heavy load (some benchmarks to SCSI disk and
> > transferring files using ftp), SCSI adapter driver prints error message
> > and dumps device's status. and then system is not work. Actually, this
> > error doesn't happen immediately after using the two devices. It works
> > during some seconds (about 10~20secs).
> > I could not capture all the message by SCSI adapter driver printed on
> > console because it is very fast and vast. Anyway, the message means "PCI
> > interrupt error". In L4Linux, the two devices share same IRQ number.
> > IMHO, this is one of the source of this behavior.
> > To use SCSI in L4Linux, I use dm_phys with '--isa=0x00800000' option.
> > Two different IRQ handling methods (one thread per IRQ and multiple
> > IRQs) got the same result.
> > Is there anyone can help me?
> 
> Just guessing but can you try to give the SCSI controller and the e1000
> NIC different IRQs and see if something changes?
> 

I'm too late. If the SCSI controller and the e1000 NIC uses different
IRQs, above error doesn't occur. Actually the above system sharing same
IRQ  isn't this system using different IRQs. Because I couldn't give the
SCSI controller and the e1000 NIC different IRQs in the above system, I
tried in the another system.

And I have another problem with loading multiple L4Linux instances. For
SCSI in L4Linux, I used dm_phys with '--isa=0x00800000' option. The
first two L4Linux instances are good working but the third L4Linux
instances fails to get ISA DMA memory. Please see the following logs.

----
1) the 1st L4Linux instance
...
l4lx    | Main memory size: 32MB
l4lx    | Got 2048kB of ISA DMA memory.
l4lx    |  ISA DMA memory: virt: 0x00800000 to 0x009fffff [2048 KiB]
l4lx    |  ISA DMA memory: Number of physical regions: 1, 2097152 Bytes
l4lx    |  ISA DMA memory: 1: Phys: 0x0043b000 to 0x0063b000, Size:
2097152
l4lx    |     Main memory: virt: 0x00c00000 to 0x02bfffff [32768 KiB]
l4lx    |     Main memory: Number of physical regions: 1, 33554432 Bytes
l4lx    |     Main memory: 1: Phys: 0x04400000 to 0x06400000, Size:
33554432
...

2) the 2nd L4Linux instance
...
l4lx    | Got 2048kB of ISA DMA memory.
l4lx    |  ISA DMA memory: virt: 0x00800000 to 0x009fffff [2048 KiB]
l4lx    |  ISA DMA memory: Number of physical regions: 1, 2097152 Bytes
l4lx    |  ISA DMA memory: 1: Phys: 0x0063b000 to 0x0083b000, Size:
2097152
l4lx    |     Main memory: virt: 0x00c00000 to 0x02bfffff [32768 KiB]
l4lx    |     Main memory: Number of physical regions: 1, 33554432 Bytes
l4lx    |     Main memory: 1: Phys: 0x02400000 to 0x04400000, Size:
33554432
...

3) the 3rd L4Linux instance
...
l4lx    | Main memory size: 32MB
DMphys  | [8.0] dm_phys/server/src/open.c:98:__create_ds():
DMphys  |  DMphys: memory allocation size 2048KB pool 7 failed!
l4lx    | [25.3] dm_phys/lib/src/open.c:82:l4dm_memphys_open():
l4lx    |  libdm_phys: open dataspace at DMphys (8.00) failed (ret -2,
exc 0)
l4lx    |     Main memory: virt: 0x00800000 to 0x027fffff [32768 KiB]
l4lx    |     Main memory: Number of physical regions: 1, 33554432 Bytes
l4lx    |     Main memory: 1: Phys: 0x2a000000 to 0x2c000000, Size:
33554432
...

Regards,
-- 
Jugwan Eom









More information about the l4-hackers mailing list