qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] How to get started with the source code of Qemu?


From: Eric Blake
Subject: Re: [Qemu-devel] How to get started with the source code of Qemu?
Date: Tue, 6 Oct 2015 10:41:24 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 10/06/2015 08:17 AM, Aaron Elkins wrote:
> Hi all,
> 
> I am new to Qemu, and I’m extremely interested in understanding how the 
> source code of Qemu work. But after
> I downloaded the whole project, I just lost in it, the project is too large 
> for me to get started.

Welcome.

As a piece of general advice, one of the best ways to get started (on
any project, not just qemu) is to start reading the mailing list, pick a
subject line that sounds interesting, and reviewing someone else's
patches on that topic.  Even if you admit that your review is weak
because you are not familiar with the code, the mere act of trying to
understand why someone else's patch was submitted will get you more
familiar with that part of the code base than randomly looking through
files on your own.

It also helps to point out that reviews tend to be the bottleneck, so
the more people that are contributing reviews in addition to their own
code, the faster the project can evolve.  It's easier to write your own
patches, and have a chance of them being reviewed in turn, if you have
already proven your willingness to review code from others first.

> 
> If anyone here can point me to some useful document or some guides, to make 
> me get started in understanding 
> the source code?

Qemu is probably big enough that no one person understands the entire
code base.  Rather, we have quite a few subject-matter experts on
various pieces of the overall project.  So don't feel bad if you don't
understand everything; it is enough to pick one topic that sounds
interesting and try to understand that.

There may be good wiki or blog pages with introductions to high-level
overviews of what qemu is doing, but I'll let others point those out (as
I'm not personally familiar with where such introductory materials would
live).  In fact, if you'd like to take good notes of what you are
learning, perhaps you could turn that into a tutorial for the next new
contributor, and do a much better job at the task than someone who has
been on the list for years and takes certain things for granted.

> 
> What knowledge are required to understand the source code?

Most of qemu is written in C, so having a good grasp on the language
helps. But even if you are weak in C, studying qemu and reading the
mailing list will help you learn and improve your skills.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]