|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Code size vs. linux source code compatibility in the hypervi
Hello there!
I recently spend some time trying to better understand the hypervisor part of
xen and decided to dive into the code in the xen subdirectory. David A.
Wheeler's 'SLOCCount' reports about 53k lines of C code there.
My first impression was that much of the code is in fact unused by Xen and
mostly there, because it was salvaged from the Linux kernel. To aid my
understanding of Xen I started to trim down on macros and functions. I was
surprised to be able to actually remove about 8k lines of code and 1.5k macro
definitions from the ACPI part! Xen still builds and runs for me:-) Since the
compiler will optimize out unused code this reduction is not reflected in the
compiled size of the hypervisor (mine is identical in size to the one build
from yesterdays unstable tarball).
My question is: What is the stance of the core team on the issue of code size
vs. linux source code compatibility? The less code the easier it is for
others to get into the project, while keeping the complete linux code around
might make moving new code over to xen easier. Are you interested in patches
to remove unused code? Mine currently removes almost all the header files in
include/acpi...
What do you think about #if 0 in code? I personally hate that: There is
version tracking, so there is no reason to keep old code visible that way.
What about all those "#ifdef CONFIG_FOO" lines from the linux kernel?
Currently xen is rather fixed in the configuration it supports and uses. Is
that a feature of xen (then those #ifdefs can go IMHO) or supposed to change
over time?
As you might have noticed I have not used C too much for the last couple of
years and never was a fan of cpp in the first place:-) This code rewriting
all over the place keeps knocking me out of the flow of understanding what is
happening.
--
Gruss,
Tobias
------------------------------------------------------------
Tobias Hunger The box said: 'Windows 95 or better'
tobias@xxxxxxxxxxx So I installed Linux.
------------------------------------------------------------
pgpFRdeYVA9wF.pgp
Description: PGP signature
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Code size vs. linux source code compatibility in the hypervisor,
Tobias Hunger <=
|
|
|
|
|