#10908 LOW Future : Possibly eliminate prelinking from OLPC builds

Zarro Boogs per Child bugtracker at laptop.org
Tue May 24 22:19:18 EDT 2011


#10908: Possibly eliminate prelinking from OLPC builds
--------------------------+-------------------------------------------------
 Reporter:  greenfeld     |                 Owner:  cjb                              
     Type:  enhancement   |                Status:  new                              
 Priority:  low           |             Milestone:  Future Release                   
Component:  build-system  |               Version:  Development build as of this date
 Keywords:                |           Next_action:  diagnose                         
 Verified:  0             |   Deployment_affected:                                   
Blockedby:                |              Blocking:                                   
--------------------------+-------------------------------------------------
 Martin and I were using two mass-production XO-1s with extremely close
 serial numbers to compare os19 (prelinked) with os20 (not prelinked).
 Similar tests were done with XO-1.5s, although we only paired those by
 motherboard revision.

 We also used ps_mem.py with multiple applications and multiple copies of
 the same Sugar application running on each XO-1, repeating the commands on
 each system in lockstep, and overall memory usage was within 5-10% on each
 respective system, usually towards the low end of that.

 Binary {non-Python} applications such as Abiword, Firefox, etc., were
 tested in GNOME to see if getting rid of Python and moving closer to the
 prelinked libraries would show more of a noticeable difference, but it did
 not.  The only case I saw where it might make a significant difference was
 on the first run of GIMP, which enumerates a lot of dynamic libraries to
 gather its list of plugins.

 Setting "LD_DEBUG=statistics" before starting the applications showed we
 were indeed avoiding a lot of library reallocations, perhaps as much as
 75% percent of them.  The savings could be 20 million or more clock cycles
 per application according to LD_DEBUG's output.  But our slowest processor
 runs at 400 MHz, making that a savings of 1/20th of a second.

 Having previously tested a Windows prelink equivalent, I can foresee cases
 where there might be some benefit.  You might be able to squeeze an extra
 Sugar activity or two running before you hit 256 MB limit as well.  But
 Martin right now doesn't quite see the benefit from the XO laptop
 perspective, and I would tend for the moment to agree.

 Admittedly, the prelinked XO-1 was helped as it used a few more MB of
 private memory as it saw more available; usually it used less than freed
 up by the prelinked libraries, sometimes more.

 Also see #10898 as well as #2278 (which has a nifty activity.info
 enhancement idea).  It might be worth looking at what Fedora's current
 stance is on prelinking as well.

-- 
Ticket URL: <http://dev.laptop.org/ticket/10908>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list