Priorities during the period running up to BTest-3 for the base system

Jim Gettys jg at laptop.org
Sat Jan 27 23:23:46 EST 2007


Having had our heads down focused on the laptop, it's time for some
momentary reflection and discussion of our goals over the next few
months as the hardware support for the first generation starts wrapping
up.

These are just my thoughts and I'd like to engender discussion of both
short and long term priorities for the OLPC base system software.

Community - for us to succeed in the long term, we must continue our
efforts at community formation and growth, not only in the free and open
source software community, but also by fostering an process in and among
the countries of learning to form such communities at all scales: from
local, to regional, to national, and the global community, as our
interactions in the countries increases. To aid in this formation, we
must expend effort on documentation and & release notes of B2. Our
growing user community needs release notes, and "how to" guides for both
the base system environment and Sugar. But it can't stop there for the
OLPC project to succeed: we must learn to build and integrate a
community of communities.

Power management and suspend resume - this is the most important
technical work that we must accomplish in this period; if trade offs
have to be to accomplish this, we'll make them.  We should very soon
have the ability to measure power on all the power rails, and Lilian
Walter has been working on testing of the power related controls; we'll
need to integrate this knowledge into Linux's device drivers, test and
debug any problems, and establish an initial benchmark on different
modes of use ("operating points" in PM jargon) for continual
improvement. UI work from low level to high level to minimize, but also
express power usage to the kids will be needed (as well as making the
battery management *really* work).  While power management itself will
be a long term process, having suspend/resume working and ebook mode
using DCON for reading and web browsing is probably achievable in this
period and I think we must focus on this immediate goal.

Performance - Performance and power management are intimately
interrelated. We believe that both later python and gecko versions we'll
be moving to will help activity start up and web browser performance;
but that will just be the start.  Profiling of the system will show
where further work will be needed, and we need to educate everyone that
CPU usage translates to ergs used (think energy use/computation).
"Running fast to off" is the only serious power management strategy we
have, as the sooner we can power off the Geode entirely and move to dcon
mode, the sooner we're in really low power mode.  This "running fast to
off" is the right strategy for most processors and applications most of
the time, and until future generations with better processors, the only
strategy we have that works. Optimization of the X driver could be put
here, or under drivers, which ever you prefer - we should use our
growing applications base to determine where to work.

Drivers - we still have dregs of driver work to do: e.g. Jaya Kumar's
wonderful work on Alsa, the AD1888 driver, and analog in driver still
has a few nits due to lack of time to get it well tested before B2 in
OLPC; high speed SD needs to work; and the touch pad needs some further
work.  

Networking - The basic networking needs to "just work" to a degree that
has never been seen before, despite the great strides Linux has made in
this area over the last couple years.  The laptop's networking must
transparently support the mesh network (now that the firmware is up to
it), and IPv6 with tunneling when needed so that we can provide "end to
end" connectivity to the kids when their network access is not via the
mesh, but via some IPv4 access.  We're just beginning to understand the
network environments in which we'll have to operate, but the basics need
to "just work".

Backup/restore and kickoff of server work - to date, while servers have
been in our plans, the laptop has taken all our energy; this is not
surprising given that without a laptop, the rest would be moot. Most
urgent is a way to backup and restore a user's environment, to enable
initial trials to be able to quickly update laptop software in reaction
to experience in the field without losing work on the laptops.

Serious design thought needs to be given during this period to the
longer term network services (e.g. software and content distribution,
name services, application services such as chat), even though
implementation of these plans may be a bit further out. We need to
develop a shared vision of how security and authentication will work, so
that we're moving in a common direction.

                        - Jim

-- 
Jim Gettys
One Laptop Per Child





More information about the Devel mailing list