#9989 NORM 1.0-sof: 2.6.3x kernels consume 25MB of memory in XO-1

Zarro Boogs per Child bugtracker at laptop.org
Mon Feb 1 23:45:38 EST 2010


#9989: 2.6.3x kernels consume 25MB of memory in XO-1
---------------------------------+------------------------------------------
           Reporter:  mavrothal  |       Owner:  dsaxena           
               Type:  defect     |      Status:  new               
           Priority:  normal     |   Milestone:  1.0-software-later
          Component:  kernel     |     Version:  not specified     
         Resolution:             |    Keywords:                    
        Next_action:  never set  |    Verified:  0                 
Deployment_affected:  none       |   Blockedby:                    
           Blocking:             |  
---------------------------------+------------------------------------------

Comment(by Quozl):

 How interesting.

 Build 802 on XO-1 says:

 {{{
 Memory: 220588k/234284k available
 }}}

 This is printed by arch/x86/mm/init_32.c, the first value is free pages,
 the second value is physical pages.

 One of the rawhide kernel dmesg's showed the kernel had been built with
 CONFIG_HIGHMEM.  I'm altogether unsure that CONFIG_HIGHMEM is the right
 configuration option to use for XO-1 which has 256Mb.  Moot point now.

 Build OS10 on XO-1 shows:
 {{{
 Memory: 206324k/228172k available
 }}}

 and CONFIG_NOHIGHMEM is properly set.

 Comparing dmesg output in detail between
 2.6.25-20090223.1.olpc.69098d87d56945c (F9 build 802) and
 2.6.31_xo1-20091210.0204.1.olpc.b5dd718 (F11 build os10):

  * number of free pages declined from 220596k to 206324k, a drop of
 14272k, or 6%,
  * physical pages declined from 234284k to 228172k, a drop of 6112k, or
 2%,
  * the later kernel says it is using the DMI, and the older kernel says
 DMI is not present or invalid,
  * the .data segment grew from 806k to 1068k,
  * the .text segment grew from 1989k to 2714k.

 Comparing .config in detail:
  * the newer kernel has tracepoints, tracing, markers, kgdb, enabled,
  * the newer kernel has CPU support for several other processors,
 (CONFIG_CPU_SUP_*),
  * the newer kernel contains IDE support,
 OSS core, EXT4, UBIFS, crypto, and has moved MMC into kernel from modules,
  * the newer kernel has CONFIG_DEBUG_* set.

 It is a richer feature set, and this comes at a cost of additional memory,
 but I don't know if that is the only explanation.  The early
 initialisation differences and the DMI stuff may also explain.

 Bernie has done some trimming in RH BZ 487601, perhaps you could try his
 kernel?

 A drop of 6% isn't particularly alarming.  I wonder what the change in
 usage by Sugar and activities is?

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


More information about the Bugs mailing list