1. 29 5月, 2009 13 次提交
  2. 26 5月, 2009 13 次提交
  3. 19 5月, 2009 2 次提交
  4. 18 5月, 2009 3 次提交
    • P
    • M
      [ARM] Double check memmap is actually valid with a memmap has unexpected holes V2 · eb33575c
      Mel Gorman 提交于
      pfn_valid() is meant to be able to tell if a given PFN has valid memmap
      associated with it or not. In FLATMEM, it is expected that holes always
      have valid memmap as long as there is valid PFNs either side of the hole.
      In SPARSEMEM, it is assumed that a valid section has a memmap for the
      entire section.
      
      However, ARM and maybe other embedded architectures in the future free
      memmap backing holes to save memory on the assumption the memmap is never
      used. The page_zone linkages are then broken even though pfn_valid()
      returns true. A walker of the full memmap must then do this additional
      check to ensure the memmap they are looking at is sane by making sure the
      zone and PFN linkages are still valid. This is expensive, but walkers of
      the full memmap are extremely rare.
      
      This was caught before for FLATMEM and hacked around but it hits again for
      SPARSEMEM because the page_zone linkages can look ok where the PFN linkages
      are totally screwed. This looks like a hatchet job but the reality is that
      any clean solution would end up consumning all the memory saved by punching
      these unexpected holes in the memmap. For example, we tried marking the
      memmap within the section invalid but the section size exceeds the size of
      the hole in most cases so pfn_valid() starts returning false where valid
      memmap exists. Shrinking the size of the section would increase memory
      consumption offsetting the gains.
      
      This patch identifies when an architecture is punching unexpected holes
      in the memmap that the memory model cannot automatically detect and sets
      ARCH_HAS_HOLES_MEMORYMODEL. At the moment, this is restricted to EP93xx
      which is the model sub-architecture this has been reported on but may expand
      later. When set, walkers of the full memmap must call memmap_valid_within()
      for each PFN and passing in what it expects the page and zone to be for
      that PFN. If it finds the linkages to be broken, it assumes the memmap is
      invalid for that PFN.
      Signed-off-by: NMel Gorman <mel@csn.ul.ie>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      eb33575c
    • R
      [ARM] realview: fix broadcast tick support · ee348d5a
      Russell King 提交于
      Having discussed broadcast tick support with Thomas Glexiner, the
      broadcast tick devices should be registered with a higher rating
      than the global tick device, and it should have the ONESHOT and
      PERIODIC feature flags set.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NThomas Glexiner <tglx@linutronix.de>
      ee348d5a
  5. 17 5月, 2009 4 次提交
  6. 16 5月, 2009 3 次提交
  7. 15 5月, 2009 2 次提交
    • B
      [ARM] S3C: Do not set clk->owner field if unset · 3ac19bb4
      Ben Dooks 提交于
      The s3c24xx_register_clock() function has been doing a test
      on clk->owner to see if it is NULL, and then setting itself
      as the owner if clk->owner == NULL.
      
      This is not needed, arch/arm/plat-s3c/clock.c cannot be
      compiled as a module, and even if it was, it should not be
      playing with this field if it being registered from somewhere
      else.
      
      The best course of action is to remove this bit of
      code completely.
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      3ac19bb4
    • B
      [ARM] S3C2410: mach-bast.c registering i2c data too early · a8af6de0
      Ben Dooks 提交于
      The BAST support code is calling s3c_i2c0_set_platdata() from
      the map_io() entry, instead of the bast_init() code. This causes
      the registration to fail due to kmalloc() not being available
      at the time.
      
      This fixes the following error:
      s3c_i2c0_set_platdata: no memory for platform data
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      a8af6de0