1. 10 5月, 2010 1 次提交
    • S
      mtd: fix a huge latency problem in the MTD CFI and LPDDR flash drivers. · c4e77376
      Stefani Seibold 提交于
      The use of a memcpy() during a spinlock operation will cause very long
      thread context switch delays if the flash chip bandwidth is low and the
      data to be copied large, because a spinlock will disable preemption.
      
      For example: A flash with 6,5 MB/s bandwidth will cause under ubifs,
      which request sometimes 128 KiB (the flash erase size), a preemption delay of
      20 milliseconds. High priority threads will not be served during this
      time, regardless whether this threads access the flash or not. This behavior
      breaks real time.
      
      The patch changes all the use of spin_lock operations for xxxx->mutex
      into mutex operations, which is exact what the name says and means.
      
      I have checked the code of the drivers and there is no use of atomic
      pathes like interrupt or timers. The mtdoops facility will also not be used
      by this drivers. So it is dave to replace the spin_lock against mutex.
      
      There is no performance regression since the mutex is normally not
      acquired.
      
      Changelog:
       06.03.2010 First release
       26.03.2010 Fix mutex[1] issue and tested it for compile failure
      Signed-off-by: NStefani Seibold <stefani@seibold.net>
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      c4e77376
  2. 30 11月, 2009 1 次提交
  3. 25 9月, 2009 1 次提交
  4. 06 8月, 2008 1 次提交
    • A
      [MTD] [NOR] cfi_cmdset_0001: Timeouts for erase, write and unlock operations · e93cafe4
      Anders Grafström 提交于
      Timeouts are currently given by the typical operation time times 8.
      It works in the general well-behaved case but not when an erase block is
      failing. For erase operations, it seems that a failing erase block will
      keep the device state machine in erasing state until the vendor
      specified maximum timeout period has passed. By this time the driver
      would have long since timed out, left erasing state and attempted
      further operations which all fail. This patch implements timeouts using
      values from the CFI Query structure when available.
      The patch also sets a longer timeout for locking operations. The current
      value used for locking/unlocking given by 1000000/HZ microseconds is too
      short for devices like J3 and J5 Strataflash which have a typical clear
      lock-bits time of 0.5 seconds.
      Signed-off-by: NAnders Grafström <grfstrm@users.sourceforge.net>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      e93cafe4
  5. 05 6月, 2008 1 次提交
  6. 13 10月, 2007 1 次提交
  7. 07 11月, 2005 1 次提交
  8. 23 5月, 2005 2 次提交
  9. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4