Re: kern/118093: firewire bus reset hogs CPU, causing data to be lost

Dieter <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
Here are the results of two more experiments:

I tried to verify what spl the firewire code is at when calling
printf(9) by adding the following block into fwohci.c just
before one of the printfs.

{
#include <sys/types.h>
#include <sys/systm.h>
  intrmask_t debug_spl;  /* __uint32_t */
  intrmask_t debug_spl_high;
  intrmask_t debug_spl_tty;
  intrmask_t debug_spl_fw;
  intrmask_t debug_spl_0;
  intrmask_t debug_spl_net;

  debug_spl = splhigh();
  debug_spl_high = spltty();
  debug_spl_tty = splfw();
  debug_spl_fw = splnet();
  debug_spl_net = splhigh();
  spl0();  /* void */
  debug_spl_0 = splhigh();
  splx(debug_spl);

  printf("fwohci_intr_core(): spl = 0x%x\n splhigh=0x%x spltty=0x%x splfw=0x%x splnet=0x%x spl0=0x%x\n",
         debug_spl, debug_spl_high, debug_spl_tty, debug_spl_fw, debug_spl_net, debug_spl_0);
}

But my results appear bogus:

fwohci_intr_core(): spl = 0x0
 splhigh=0x0 spltty=0x0 splfw=0x0 splnet=0x0 spl0=0x0

I have examined my code and the spl(9) man page several times
but I can't find what is wrong.  Any clues?

--------------------------------------------------------

To isolate the effects of printf(9) from the firewire bus reset,
I picked a trivial system call (chown(2)) and added some printf(9)
calls.

Calling chown several times and monitoring with systat -vmstat gives:
  1098 interrupts on the console IRQ
  93.1%Sys   6.7%Intr  0.2%User  0.0%Nice  0.0%Idle

This did NOT interfere with Ethernet.

So printf(9) interferes with Ethernet when called from the
firewire driver, but not when called from a vanilla system call.

--------------------------------------------------------

sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio0: [FILTER]

What does [FILTER] mean?  I don't see an explanation on the sio man page.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.