On Sat, Aug 22, 2009 at 07:31, Lei Zhang<thes...@chromium.org> wrote:
>
> With the Google Summer of Code program winding down, I'm curious how
> our GSoC participants are doing. Can the students and their mentors
> share their experiences? (Assuming you're all done with evaluations
> and all that.)

My project was 'Forging a better Cr on Linux', and Dean was my mentor.

I had an eye on doing performance/memory usage work motivated by my
attempts to run Chromium on the Beagleboard; an ARM system with 128MB
of RAM.  Chromium works and you can come along to OSDC
(http://2009.osdc.com.au) for my talk "There's something on my ARM"
for all the details :)

I didn't get as much done as I would have liked as I was attending
classes and sitting exams throughout my "Summer" of Code, a downside
of being a student from the southern hemisphere.  This means I'm going
to stick around the project to continue working on things I'm
interested in.

(For my record as much as anyone else) here is a summary of the
patches I wrote, in chronological order:

== Scale backing store cache size ==
This would scale the number of DIBs stored based on the system RAM.
It's since been replaced by a more complex algorithm.

== Set process name on Linux ==
This was to help distinguish the renderer from the browser (and the
zygote, which was just appearing at the time).  It was reverted as it
broke the UI tests which iterate over the process name.  I did not
resubmit as 'ps f' provides the same information for less lines of
code.

== Jankfs ==
An idea Dean had; write a FUSE filesystem to simluate slow and
unreliable storage.  See
http://groups.google.com/group/chromium-dev/browse_thread/thread/59b0440255c87ed3

== ARM build ==
The tree had built for ARM at some point in the past but had since
bitrotted.  I went through building a toolchain, and then a root
filesystem, and found 3 gcc ICE (internal compiler errors) on the way.
 I then made a bunch of changes in working towards building and
running Chromium on the Beagleboard:

  * Hide x86 assembly in the seccomp and chroot sandboxes from the ARM build
  * A Skia build fix
  * v8 patch for targeting the ARMv7 Cortex-A8 (found on the beagleboard)
  * Most significantly, re-wrote v8.gyp to make cross-compiling possible

For instructions on building see
http://code.google.com/p/chromium/wiki/LinuxChromiumArm

== Memory usage in task manager on Linux ==
Calculates the memory usage of each process.  This is committed and
working, but the API needs to be re-worked to be less Windows-like
before about:memory is ready for Linux.  See
http://codereview.chromium.org/159777

== Fix proxy settings for Gnome >=2.26 ==
Newer versions of Gnome use a different binary name, this made the
"Change proxy settings" button work for both.

== Add ctrl+w accelerator to close bookmark manager for linux ==

== Fix PR_ImplodeTime for Linux x64 ==
This was one of the last patches to make the chrome tree compile for
x64 without patches, building on Dean's work.  Beware the 2038 bug.

== One liners ==
  * gcc-4.3 / 4.4 build fixes
  * gitignore updates
  * window icons

According to the logs I wrote 22 patches.

Despite having been around open source projects for a number of years,
Chroimum's development process taught me many new things.  Having code
review for all changes made was a new to me, and line by line review
is great at ensuring I got detailed feedback.

Dean's mentoring was the most valuable part of the experience. He was
great at answering questions and explaining the concepts I was not
familiar with.  Having the ability to communicate via IM made this
very easy and I would encourage mentors and students to follow this
setup in future years.

Thanks to Dean for mentoring me, and everyone else who reviewed and
committed my patches.

Cheers,

Joel

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to