Kaz,

thanks for the debugging advice. Now that I'm not using X anymore
I actually can see the reason for my freeze. I'm now
just dropping the packets in the hard_xmit routine and freeing the
skb's with dev_kfree_skb. After some while my system freezes with the
console full of 

  Aiee: scheduling in interrupt 00124b3

log messages. What does this mean? Am I in some kind of infinite loop?

Thanks,

  Olaf


Kaz Kylheku writes:
 > 
 > 
 > On Sun, 15 Nov 1998, Olaf Meyer wrote:
 > 
 > > Kaz,
 > > 
 > > thanks alot :-) Seem's like I have to buffer the packets for my job.
 > > I still couldn't figure out, how to get stuff printed to the console.
 > > To which one anyway when I'm using X? Maybe to Xconsole?
 > > Shouldn't the folowing printk also go to the console, since it has 
 > > log level 1?
 > 
 > Don't use X if you are kernel hacking. The problem with X is that it runs in a
 > process. In order for your xterm messages to get printed, your xterm program as
 > well as your X server have to get CPU cycles. So they are in the same boat as
 > syslogd or klogd. If your kernel goes into an infinite loop in which it does
 > printk's, these messages will never appear in the X console nor will they go
 > into the log.
 > 
 > Use the real console if you are debugging deep code like device drivers,
 > particularly if you are looking for tough bugs that cause lockups.
 > 
 > Prints that go to the console are execute in-line using the console driver
 > directly, so they even work in interrupt service routines.
 > 
 > >   printk("<1>jiffies = %ld\n", jiffies); 
 > > 
 > > I just see the message int the /var/log/messages file!
 > 
 > That's because it's level is <1> which is very high, KERN_ALERT, so it goes
 > into a different log. Try looking in the /var/log/syslog file.
 > /var/log/messages is more for informational messages.
 > 
 > Use the strings in <linux/kernel.h> instead of <1> or <2>.
 > 
 > > I acually found a work around to the buffering/logger daemons in my special
 > > situation. I wrote a wrapper for the printk function which just dumps stuff
 > > onto the network. I then run a modified version of the tcpdump program on a
 > > host with a promiscious NIC to print the stuff in clear text :-) But I would
 > > also like to know hot to print stuff directly to the console without passing
 > > through any of the daemons.
 > 
 > The kernel has a ``logging level'' global variable which determines what
 > levels of messages go directly to the console and which just go to the
 > daemons. Normally, low priority messages don't go to the console, only KERN_ERR
 > and higher. The log level can be set with a special system call; the klogd
 > program does it with the -c argument. I think that if you want all messages
 > to go to the console, even the KERN_DEBUG ones, you start klogd with a -c 8
 > parameter.
 > 
 > 
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to