IMHO: (for virtio support for 9P, block, net, and console)
For someone who has lots of experience with Plan 9 device drivers, this likely
a few days
(20 hours) worth of work.
For someone who had some experience with Plan 9 device drivers, this is likely
a couple
weeks (80 hours) of work to do well. (The assumption here is that you've at
least looked
at the device driver source code and know how to build and boot your own kernel)
For someone with no experience with Plan 9 kernel development, this is probably
a couple
months of work (160-320 hours) with a good mentor. (The assumption here is that
you at
least have a Plan 9 installation, and are familiar enough with the tools to
edit and compile
applications within Plan 9).
For someone without any Plan 9 experience, this probably is not doable during
GSOC.
The estimate doesn't change much by limiting the class of devices you plan to
support
with virtio. Likely if you can do one, you'll be able to do them all (9p and
console are just
character devices and can be modeled on any uart driver, the block device can
be modeled
on AOE or one of the other simple block drivers, and the network driver can be
modeled
on any ethernet driver. I haven't looked at the xen or vmware-focused drivers,
its likely
they are better starting points than the physical hardware driver - but at the
end of the
day you are only looking at a few thousand lines of code.
-eric
On Apr 2, 2010, at 11:13 AM, Saeid Al-Wazzan wrote:
> I guess I misunderstood, what you meant was a front-end driver that can speak
> 9P. I think
> that should be a priority. What I'm concerned about is whether the summer is
> a realistic time frame
> for completing this effort. I have not done this before so I have no real way
> of gauging it.
>
> On Fri, Apr 2, 2010 at 5:03 PM, Eric Van Hensbergen <[email protected]> wrote:
> No, virtio supports 9P directly on the virtio channel (in linux see
> fs/9p/trans-virtio.c)
>
> The qemu/kvm side patches are just now being mainlined, but should be in
> place by summer.
>
> -eric
>
> On Apr 2, 2010, at 8:35 AM, Saeid Al-Wazzan wrote:
>
> > Do you mean providing a translation from virtio messages into 9P as follows?
> >
> > [front-end driver]
> > |
> > [virtio-9P]
> > |
> > [transport]
> > |
> > [back-end drivers]
> >
> > Sorry for the bad ASCII art :)
> >
> > On Fri, Apr 2, 2010 at 4:30 PM, Eric Van Hensbergen <[email protected]>
> > wrote:
> > you should support virtio-9p as well.
> >
> > in fact, you should probably support it first.
> >
> > -eric
> >
> >
> > On Fri, Apr 2, 2010 at 7:28 AM, Saeid Al-Wazzan <[email protected]>
> > wrote:
> > > After some review of the provided material and looking over the virtio
> > > source code in the linux kernel
> > > I've written the following potential proposal, would this be an acceptable
> > > project? I'd appreciate any comments
> > > or corrections. Thank you.
> > >
> > > Proposal:
> > > --
> > > Allowing Plan 9 to run efficiently in a virtual environment enables those
> > > who would like to try the system
> > > to do so without committing to a full installation.
> > >
> > > This project aims to utilize the virtio abstraction layer by providing
> > > front-end virtio drivers to a hypervisor.
> > > Four drivers will be produced: virtio-net for network devices, virtio-pci
> > > for PCI devices, virtio-console for
> > > console devices, and virtio-blk for block devices. [1]
> > >
> > > The virtio interface should be consistent with the Plan 9 way of doing
> > > things, that is, it should provide a
> > > file system interface that can be accessed through standard read and write
> > > operations. [2]
> > > --
> > >
> > > References:
> > >
> > > [1] http://www.ibm.com/developerworks/linux/library/l-virtio/
> > > [2] http://doc.cat-v.org/plan_9/4th_edition/papers/net/ (2.2 Kernel
> > > Organization)
> > >
> > >
> > > On Wed, Mar 31, 2010 at 5:43 PM, Saeid Al-Wazzan <[email protected]>
> > > wrote:
> > >>
> > >> Hello everyone,
> > >>
> > >> I've been looking over the ideas page and I'm really interested in
> > >> Virtio device support. I've read over the specification and I'd like
> > >> some more information about the difficulty level of this project to
> > >> see if I can reasonably apply myself to it.
> > >>
> > >> I have a good understanding of hardware in terms of computer
> > >> architecture, digital design, and low level programming. I understand
> > >> the concepts behind virtual machines (I have not delved into
> > >> implementations) and I have not written a device driver before. I'm
> > >> comfortable working with assembly and C.
> > >>
> > >> Does this project match my skill level or is there something intrinsic
> > >> that might prevent me from realistically completing it? I appreciate
> > >> your feedback.
> > >
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Plan 9 Google Summer of Code" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected].
> > > For more options, visit this group at
> > > http://groups.google.com/group/plan9-gsoc?hl=en.
> > >
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Plan 9 Google Summer of Code" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> > http://groups.google.com/group/plan9-gsoc?hl=en.
> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Plan 9 Google Summer of Code" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> > http://groups.google.com/group/plan9-gsoc?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Plan 9 Google Summer of Code" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/plan9-gsoc?hl=en.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Plan 9 Google Summer of Code" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/plan9-gsoc?hl=en.
--
You received this message because you are subscribed to the Google Groups "Plan
9 Google Summer of Code" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/plan9-gsoc?hl=en.