[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Migrating away from the sparse tree.
For some time now there has been talk of moving away from the sparse tree structure used for Linux in the Xen releases. A proposed patch is attached. It adds the infrastructure for supporting different Linux source trees but leaves the default as the sparse tree (see phase 2 below). The sparse tree targets are factored into a separate file (buildconfigs/src.sparse) which is selected based on $(XEN_LINUX_SOURCE). I've also added buildconfigs/src.hg-clone and example rules which use it to build RHEL4x and SLES9x kernels from xenbits. e.g. make linux-2.6.9-RHEL-xen-build make linux-2.6.5-SLES-xen-build would clone the relevant trees and build them. I'd also like to get a tree based on the upstreaming effort integrated in a similar manner. If there was a suitable tree available then make linux-2.6-xen-build XEN_LINUX_SOURCE=hg-clone XEN_LINUX_HGREPO=foo.hg should also work. Phase 2 would be to create the linux-2.6.18-xen.hg tree, switching the default to use it and removing the sparse tree. This would involve applying the patches directory + sparse tree to a 2.6.18 repository. Ideally that would be a simple clone of the kernel.org tree, but: $ time hg clone http://www.kernel.org/hg/linux-2.6 upstream requesting all changes adding changesets adding manifests adding file changes added 51554 changesets with 440268 changes to 24323 files (+1 heads) 21615 files updated, 0 files merged, 0 files removed, 0 files unresolved real 29m20.315s user 2m14.372s sys 0m17.345s This is a tip tree so has more history than just a 2.6.18 clone but not by enough to make a big dent in that half an hour. Unfortunately mercurial doesn't yet appear to have support for dropping old history from a repository. We could create our own repository based on the 2.6.18 tarball which would be much smaller but would have no history. For comparison the rhel4x.hg repository (which uses essentially that scheme) took 1m48 to clone (it's also on a local mirror so much nearer than kernel.org). Anyone have any other ideas? Ian.  i.e. something like the proposed "punch" support discussed here: http://www.selenic.com/mercurial/wiki/index.cgi/TrimmingHistory
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
Lists.xenproject.org is hosted with RackSpace, monitoring our