|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|