xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ritu kaur <ritu.kaur.us@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: modifying drivers
Date: Fri, 19 Feb 2010 14:30:02 -0800	[thread overview]
Message-ID: <29b32d341002191430q4261fd32y8b6834125c0ca04@mail.gmail.com> (raw)
In-Reply-To: <1266600267.11737.545.camel@zakaz.uk.xensource.com>


[-- Attachment #1.1: Type: text/plain, Size: 6359 bytes --]

Hi Ian,

Thanks for the clarification. In our team meeting we decided to drop netback
changes to support exclusive access and go with xe command line or xencenter
way to do it(We are using Citrix Xenserver). Had couple of follow-up
questions related to Xen.

1.Is it correct that netfront driver(or any *front driver) has to be
explicitly integrated or compiled in the guest OS? the reason I ask this is,


a. In the documents I have read, it mentions guest OS can run without any
modification, however, if above is true we have to make sure guest OS we use
are compiled with the relevant *front drivers.

b. we had done some changes to netback and netfront(as mentioned in the
previous email), when compiling kernel for dom0 it includes both netfront
and netback and assumed via some mechanism this netfront driver would be
integrated/installed into guest domains when they are installed.

2. Any front or back driver communication is via xenbus only?

3. Supporting ioctl calls. Our driver has ioctl support to read/write
hardware registers and one solution was to use pci passthrough mechanism,
however, it binds the NIC to a specific domU and we do not want that. We
would like to have multiple users access to hw registers(mainly stats and
other stuff) via guest domains and be able to access them simultaneously.
For this, we decided to go with the mechanism of shared memory/event channel
similar to front and back drivers.  Can you please provide some inputs on
this?

Thanks


On Fri, Feb 19, 2010 at 9:24 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Fri, 2010-02-19 at 17:12 +0000, Ritu kaur wrote:
> >
> >
> > On Fri, Feb 19, 2010 at 1:07 AM, Ian Campbell
> > <Ian.Campbell@citrix.com> wrote:
>
> >         It's not overhead, it is the *right* way to implement control
> >         operations
> >         of this sort. Your QA scripts are ideally placed to do this.
> >
> > Can you elaborate on this? If I understand this correctly, you are
> > saying QA scripts written by us can be used to  access or restrict
> > i.e run these scripts from dom0 and allow or restrict access to a
> > specific domU? I am not aware if this is possible without modifying
> > toolstack?
>
> You can use "xm network-attach" and "xm network-detach" to add and
> remove a guest VIF to ensure only the guest you wish to test has a vif.
> You can call these commands from scripts etc. You can also modify (or
> generate) your guest configuration files as necessary to ensure guests
> are started with the VIFs you require. Nothing here should require
> toolstack or kernel modifications.
>
> >
> >         Are you sure you shouldn't be looking at PCI passthrough
> >         support or
> >         something of that nature?
> >
> >
> > We are looking into this option as well. However from the following
> > wiki it seems we have to compile guest OS with pcifrontend driver
> > support.
>
> Most PV guests have this support enabled out of the box.
>
> >
> http://wiki.xensource.com/xenwiki/Assign_hardware_to_DomU_with_PCIBack_as_module?highlight=%28pci%29
> >
> > We are looking at different ways to accomplish the task and clearly we
> > would like to test out all options before making a decision.
> >
> > Modifying netback is one of the options(not the final one) and clearly
> > the changes we are doing has nothing netback specific, modifying and
> > testing it out doesn't hurt either. Appreciate if you or someone on
> > the list can provide some inputs on debugging the issue I mentioned in
> > my first email.
>
> I think you need to take a step back and become familiar with how a Xen
> system currently works and is normally configured and managed before you
> dive in and start modifying kernel drivers and toolstacks. You are in
> danger of going completely off into the weeds at the moment.
>
> Ian.
>
> >
> > Thanks
> >
> >
> >         Ian.
> >
> >
> >         >  Hence would like some inputs w.r.t debugging the netback
> >         tx/rx code.
> >         >
> >         > Thanks
> >         >
> >         >
> >         >
> >         >         Ian.
> >         >
> >         >
> >         >         >  For this,
> >         >         >
> >         >         > 1.  keep track of devices created via
> >         netback_probe function
> >         >         which is
> >         >         > called for every device.
> >         >         > 2. Use domid field in netif_st data structure
> >         >         > 3. Added new function netif_check_domid and placed
> >         it along
> >         >         with
> >         >         > netif_schedulable, I add a check if netif->domid
> >         is the
> >         >         lowest one(via
> >         >         > list created in step 1)
> >         >         > 4. Function netif_schedulable is called from
> >         >         > a. tx_queue_callback
> >         >         > b. netif_be_start_xmit
> >         >         > c. net_rx_action
> >         >         > d. add_to_net_schedule_tail
> >         >         > e. netif_be_int
> >         >         >
> >         >         > This works fine for the first vm that comes up.
> >         However,
> >         >         subsequent vm
> >         >         > bringup has issues which reboots dom0 itself.
> >         >         >
> >         >         > 5. I removed the function added by me in function
> >         >         netif_be_start_xmit
> >         >         > only, this allows multiple vm's to be up and will
> >         allow only
> >         >         first vm
> >         >         > to access netback. However, this has issues with
> >         the second
> >         >         > functionality I would like to have i.e when first
> >         vm is
> >         >         suspended,
> >         >         > next vm in the list should get access. I added
> >         kernel
> >         >         printfs in above
> >         >         > functions and none of them are called after first
> >         vm is
> >         >         suspended and
> >         >         > subsequent vm is trying to access.
> >         >         >
> >         >         > Wanted to know inputs from experts on this and how
> >         to
> >         >         proceed with
> >         >         > debugging.
> >         >         >
> >         >         > Thanks
> >         >         >
> >         >
> >         >
> >         >
> >         >
> >
> >
> >
> >
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 8039 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

  reply	other threads:[~2010-02-19 22:30 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-18 16:27 modifying drivers Ritu kaur
2010-02-18 16:39 ` Ian Campbell
2010-02-19  0:03   ` Ritu kaur
2010-02-19  9:07     ` Ian Campbell
2010-02-19 17:12       ` Ritu kaur
2010-02-19 17:24         ` Ian Campbell
2010-02-19 22:30           ` Ritu kaur [this message]
2010-02-20  0:22             ` Jeremy Fitzhardinge
2010-02-20  2:15               ` Ritu kaur
2010-02-20  3:03                 ` Ritu kaur
2010-02-21 13:03                   ` Problems with Xen 4.0-rc4 forcedeth driver / Regression? Carsten Schiers
2010-02-20  7:29                 ` modifying drivers Daniel Stodden
2010-02-20 11:58                 ` Pasi Kärkkäinen
2010-02-20 23:10                   ` Ritu kaur

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=29b32d341002191430q4261fd32y8b6834125c0ca04@mail.gmail.com \
    --to=ritu.kaur.us@gmail.com \
    --cc=Ian.Campbell@citrix.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).