All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Brad Plant <bplant@iinet.net.au>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: pvops netconsole
Date: Sat, 13 Feb 2010 19:56:51 -0800	[thread overview]
Message-ID: <4B777483.80700@goop.org> (raw)
In-Reply-To: <20100214132820.4bfbd0d7@daedalus>

On 02/13/2010 06:28 PM, Brad Plant wrote:
> On Fri, 12 Feb 2010 15:09:12 -0800
> Jeremy Fitzhardinge<jeremy@goop.org>  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
>    

  reply	other threads:[~2010-02-14  3:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-05  0:15 pvops netconsole Brad Plant
2010-02-05 16:34 ` Konrad Rzeszutek Wilk
2010-02-05 20:21   ` Brad Plant
2010-02-12 23:09 ` Jeremy Fitzhardinge
2010-02-13  0:05   ` Brad Plant
2010-02-14  2:28   ` Brad Plant
2010-02-14  3:56     ` Jeremy Fitzhardinge [this message]
2010-02-14  4:56       ` Brad Plant
2010-02-16  1:22         ` Jeremy Fitzhardinge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B777483.80700@goop.org \
    --to=jeremy@goop.org \
    --cc=bplant@iinet.net.au \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.