Date: Thu, 5 Mar 2009 06:10:03 GMT From: Dieter <freebsd@sopwith.solgatos.com> To: freebsd-firewire@FreeBSD.org Subject: Re: kern/118093: [firewire] firewire bus reset hogs CPU, causing data to be lost Message-ID: <200903050610.n256A3Oh062519@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: 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 Date: Wed, 04 Mar 2009 21:37:31 +0000 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?200903050610.n256A3Oh062519>