Date: Fri, 6 Mar 2009 16:00:08 GMT From: Gavin Atkinson <gavin@FreeBSD.org> To: freebsd-firewire@FreeBSD.org Subject: Re: kern/118093: [firewire] firewire bus reset hogs CPU, causing data to be lost Message-ID: <200903061600.n26G082b030204@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/118093; it has been noted by GNATS. From: Gavin Atkinson <gavin@FreeBSD.org> To: Dieter <freebsd@sopwith.solgatos.com> Cc: bug-followup@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-firewire@FreeBSD.org Subject: Re: kern/118093: [firewire] firewire bus reset hogs CPU, causing data to be lost Date: Fri, 06 Mar 2009 15:53:43 +0000 On Wed, 2009-03-04 at 21:37 +0000, Dieter wrote: > 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? You'll also need to add the uart hints to your device.hints file, if you haven't already, and update /etc/ttys. hint.uart.0.at="isa" hint.uart.0.port="0x3F8" hint.uart.0.flags="0x10" hint.uart.0.irq="4" /etc/ttys: you may find you need to change "ttyd0" to "ttyu0". Gavin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903061600.n26G082b030204>