DragonFly BSD
DragonFly kernel List (threaded) for 2011-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: gsoc 2011 : about virtio drivers

From: Aggelos Economopoulos <aoiko@xxxxxxxxxxxxxx>
Date: Thu, 24 Feb 2011 08:36:08 +0100

On 02/23/2011 12:42 AM, Stéphanie Ouillon wrote:

I discovered DragonFly BSD a few weeks ago and started by running it following the tutorials on the site and reading around. I am a student in an engineer school ( networking, telecommunication fields ) and I'm very interested in everything in relation to OS architecture and C development.

Hello Stéphanie,

it's nice to see more people who are interested in the virtio project! And I say "more", because I have already been contacted off list by Thibaut Deloffre (CC'd) about the same project :-) Unfortunately, the GSoC wiki page is Work In Progress and you've caught us doing the last rehearsals before the start of the show.

The situation is as follows: Tim Bisson and Pratyush Kshirsagar spent some time working on a virtio driver port from NetBSD, but then changed direction and run into a bit of unexpected trouble: http://www.shiningsilence.com/dbsdlog/2011/02/17/7274.html. After Thibaut's mail, I contacted them privately and they've expressed their willingness to publish their code so that anyone can pick it up. If I understood correctly, neither Pratyush nor Tim plan to do further work (please correct me if I'm wrong!).

So I guess that means DragonFly will offer the virtio driver project in this year's GSoC too. Tim suggested that the project could be expanded to include the virtio memory baloon driver. That said, it seems that only one student can work on the project, so I'd advise both of you to have alternatives ready. I can recommend taking a look at the usb4bsd port if you're mostly interested in drivers and the concensus on IRC seems to be that the Samba VFS module for historical access has the highest coolness factor this year ;-) Either will teach you a lot about OS internals and both have tangible results, which makes the whole experience that much more rewarding. But we're very interested in your ideas and suggestions too.

I'm inexperienced in the domain of device drivers but I'm willing to learn as much as possible and I am interested in some of the projects you describe in your gsoc project list, in particular virtio drivers implementation. I have begun to get some information about it. Can you point me some links or some documentation to read about it (apart from the ones indicated in the project list) ?

Unfortunately that's the only documentation I'm aware of that is specific to virtio. With regard to driver writing, I can recommend http://lwn.net/Kernel/LDD3/. While our APIs are completely different to Linux's, the principles are similar for almost all monolithic OS drivers. Especially the parts about synchronization and race conditions are a must-read if you want to get into driver development.


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