[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] pvops netconsole



On 02/13/2010 06:28 PM, Brad Plant wrote:
On Fri, 12 Feb 2010 15:09:12 -0800
Jeremy Fitzhardinge<jeremy@xxxxxxxx>  wrote:

On 02/04/2010 04:15 PM, Brad Plant wrote:
Initialising Xen virtual ethernet driver.
blkfront: xvda1: barriers enabled
netconsole: local port 11111
netconsole: local IP 10.20.40.2
netconsole: interface eth1
netconsole: remote port 9514
netconsole: remote IP 10.20.50.2
netconsole: remote ethernet address 00:16:3e:00:50:02
netconsole: eth1 doesn't support polling, aborting.
netconsole: cleaning up

The xen-netfront device doesn't support the polling interface that
netconsole relies on.  It probably wouldn't be too hard to add that
capability if you want to.  It's independent of the backend and/or the
actual underlying hardware device.
Ok, I've come up with something that "works". Patch against 2.6.32.7 is attached. While 
it works, I've got no idea if what I've done is the "right way". I used virtio_net.c as a 
guide.

I've got some issues that I'm stuck on and would like some guidance:

1. When the first message is sent over the net console, the WARN_ONCE() at 
net/core/netpoll.c:327 triggers. I'm not sure what to do about this.


What's the backtrace in the warning?

I had a quick look at e1000's and it calls the interrupt handler; the netfront equivalent would be to call xennet_interrupt() with interrupts disabled. I'm not sure virtio_net is a good model because it doesn't seem to have any interrupt-related stuff in it; I guess that happens elsewhere in virtio.

2. When either netconsole is setup or the first message is sent, messages 
already logged to the main console get logged again. Maybe this will go away 
when the above is fixed?

Probably not.  It sounds like a feature.

3. Initially netconsole would not initialise because the interface didn't yet have a 
mac address as setup_netfront hadn't yet been called. I changed the module_init() in 
netconsole.c to late_initcall() if !CONFIG_MODULES&&  CONFIG_XEN. Is this 
allowed and sane?

Probably not. In practice every kernel will have modules and Xen enabled, and it will change netconsole for all users. I guess we probably need to find some way to init the MAC address earlier, or trigger netconsole init once the mac address is known.
Cheers,

Brad


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.