Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 Mar 2009 21:37:31 +0000
From:      Dieter <freebsd@sopwith.solgatos.com>
To:        gavin@freebsd.org, bug-followup@freebsd.org
Cc:        freebsd-bugs@freebsd.org, freebsd-firewire@freebsd.org
Subject:   Re: kern/118093: [firewire] firewire bus reset hogs CPU, causing data to be lost 
Message-ID:  <200903050537.FAA07423@sopwith.solgatos.com>
In-Reply-To: Your message of "Mon, 02 Feb 2009 21:13:41 GMT." <200902022113.n12LDfEI059994@freefall.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <200902022113.n12LDfEI059994@freefall.freebsd.org>, gavin@freebsd.org writes:

> This looks like it may be some bad
> interaction between the firewire stack and using a serial
> console.  To submitter: It may be worth while switching to
> uart(4) rather than sio(4) for your serial ports and seeing
> if that makes any difference (as I don't think uart(4) uses
> the Giant lock).

The box is running 7.1 now.  I commented out sio in the config file
and built a new kernel.

normal kernel:

 freebsd # dmesg | grep ^sio
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio0: [FILTER]
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
sio1: [FILTER]
 freebsd # dmesg | grep -i ^uart
 freebsd # dmesg | grep -i 1655 
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
 freebsd # dmesg | grep -i console
sio0: type 16550A, console
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
 freebsd # dmesg | grep -i giant
ohci0: [GIANT-LOCKED]
ehci0: [GIANT-LOCKED]
ohci1: [GIANT-LOCKED]
ohci2: [GIANT-LOCKED]
ehci1: [GIANT-LOCKED]
ppc0: [GIANT-LOCKED]
atkbd0: [GIANT-LOCKED]

With sio commented out:

OK boot kernel_uart
/boot/kernel_uart/kernel text=0x3f8090 data=0x5b678+0x38cc8 syms=[0x8+0x6ee08+0x
8+0x609a9]
/

And nothing else appears on the console.


 freebsd # dmesg | grep -i ^sio
 freebsd # dmesg | grep -i ^uart
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0
uart0: [FILTER]
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart1: [FILTER]
 freebsd # dmesg | grep -i 1655
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
 freebsd # dmesg | grep -i console
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>

echo hello >> /dev/console
doesn't show up.  Nothing shows up on console.

And looking at files in /var/log I found:

getty[789]: open /dev/ttyd0: No such file or directory
getty[790]: open /dev/ttyd1: No such file or directory


Looks to me like commenting out sio doesn't work so well on my box.
Is that the wrong way to switch from sio to uart?
Is there something else I need to change instead, or in addition?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903050537.FAA07423>