GSoC/GCI Archive
Google Summer of Code 2010

The Linux Foundation

Web Page: https://www.linuxfoundation.org/collaborate/workgroups/gsoc/google-summer-code-2010

Mailing List: Workgroup mailing lists see on the project ideas page

The Linux Foundation is a nonprofit consortium dedicated to fostering the growth of Linux. Founded in 2007 as a merger of the former Free Standards Group (FSG) and the former Open Source Developer Lab (OSDL), the LF sponsors the work of Linux creator Linus Torvalds and is supported by leading Linux and open source companies and developers from around the world. The Linux Foundation promotes, protects and standardizes Linux by providing unified resources and services needed for open source to successfully compete with closed platforms. More: https://www.linux-foundation.org/en/About All software produced by us is free software published under OSI-approved licenses. See project ideas page for the license used by each project.

Our project code repository for 2010 is here: http://code.google.com/p/google-summer-of-code-2010-lf/

Projects

  • Annotation support for API Sanity Autotest The goal of this project is to add support for annotations to the API Sanity Autotest. The automated test generator should take such annotations into account and add appropriate runtime checks wherever possible. This should allow to significantly improve quality of the generated tests.
  • Compression of locally installed PPD repositories Every PostScript printer needs a PPD file to work. With hundreds (and more) of supported printers, there're many files. In a typical Ubuntu installation, they count for about 60 MB of space. This is almost 10% of the capacity of a CD, the usual GNU/Linux distribution's media of choice. As more printers are made every year, there is a growing need to find a way to compress these files. This proposal explains my solution.
  • Cross Distribution Package Dependency Translation The project aims to create tools for developers and users that can help to distribute software to different Linux systems and to install 'alien' packages (created for other Linux system) on particular system. These tools should work over the web service that provides information about names of dependences on different Linux systems.
  • Implementation of the Locator/ID Separation Protocol in the Linux kernel The Locator/ID Separation Protocol (LISP) implements a separation of the Internet addresses into Endpoint Identifiers (EID) and Routing Locators (RLOC) in an attempt to solve the problem of routing scalability on the Internet, and also provide new approach to other routing problems like multihoming, renumbering of clients and traffic engineering. The goal of this project is to implement this protocol in the Linux kernel.
  • Improving tracing in perf events / ftrace Improve the upstream Linux Kernel tracing implemented by the perf events and ftrace subsystems. The relationship between those two subsystem is still young and misses various features like making the syscalls tracing usable, or instrumentation on finer grained contexts than just tasks or cpus.
  • Linux Device Drivers Quality Inspector Errors in Linux device drivers are responsible for a significant amount of kernel faults. The drivers are frequently changed, and incremental quality control of only those drivers that are affected by the change is necessary. The goal of this project is to utilize LDV (Linux Driver Verification tool) to incrementally find errors in Linux drivers as changes are committed in the GIT repository containing the sources of the drivers.
  • Linux kernel device drivers for reconfigurable architectures aka FPGA's Software/hardware co-design, the main goals at hardware level is to interconnect a set of custom hardware modules (peripherals) that follow the wishbone specification to the target platform processor bus, at software level is to provide the corresponding Linux device driver.
  • LSB test result analytic system This project aims to develop an analytical system for storing, analyzing and visualizing test results with advanced web interface that will support checking results against the latest state of known problem database.
  • Memory Compression for Virtualized Environments The aim is to achieve higher consolidation ratios (more VMs per host) for KVM platform using memory compression at the host level. While servers with 64 or more cores are becoming common in future, the prices of DRAM remain prohibitive. Considering these trends, memory compression appears to be an effective way of utilizing memory resource which is often the main bottleneck for Virtualization workloads.
  • NetworkManager: fast-user-switching support and related goodness There are a number of problems with how user-specific network settings are handled by NetworkManager. For example, the current approach does not work with fast-user-switching, and it's difficult for applications modify user-specific network settings data without being responsible for *all* of the settings data. This project would address these problems.
  • Upstream Tracker This project aims on creating an extension for Upstream Tracker tool including scheduling main activities (installing library versions, API testing, ABI tracking, checking for new versions), sending e-mail notifications with daily run results to all interested parties (e.g., upstream developers or distribution maintainers) and other features.