Skip site navigation (1)Skip section navigation (2)
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>