1. 01 8月, 2008 2 次提交
  2. 30 7月, 2008 1 次提交
  3. 06 6月, 2008 1 次提交
  4. 05 6月, 2008 4 次提交
  5. 03 2月, 2008 1 次提交
  6. 20 10月, 2007 1 次提交
  7. 06 9月, 2007 1 次提交
    • A
      [MTD] [NAND] nandsim: avoid deadlocking FS · 98b830d2
      Artem Bityutskiy 提交于
      Make nandsim use GFP_NOFS when allocating memory, because it might
      be used by a file-system (e.g. UBIFS2) which means, if we are short
      of memory, we may deadlock. Indee, UBIFS is holding a lock, writes
      to the media, reaches this place in NANDsim, kmalloc does not find
      the requested amount of RAM, calls memory shrinker, which decides
      to writeback inodes, calls FS, and it deadlocks on the lock which
      is already being held. Below is the UBIFS backtrace which
      demonstrates that:
      
      [<c03717dc>] __mutex_lock_slowpath+0xc8/0x2e6
      [<c0371a16>] mutex_lock+0x1c/0x1f
      [<f8b9d076>] reserve_space+0x3d/0xa9 [ubifs]
      [<f8b9d1bd>] make_one_reservation+0x2b/0x86 [ubifs]
      [<f8b9d3fc>] ubifs_jrn_write_block+0xda/0x12f [ubifs]
      [<f8b9ff3a>] ubifs_writepage+0x11d/0x1ec [ubifs]
      [<c015d6ab>] shrink_inactive_list+0x7fa/0x969
      [<c015d8c8>] shrink_zone+0xae/0x10c
      [<c015e3b4>] try_to_free_pages+0x159/0x251
      [<c015980a>] __alloc_pages+0x125/0x2f0
      [<c016ff6a>] cache_alloc_refill+0x380/0x6ba
      [<c01703f3>] __kmalloc+0x14f/0x157
      [<f885722a>] do_state_action+0xab7/0xc74 [nandsim]
      [<f885760c>] switch_state+0x225/0x402 [nandsim]
      [<f8857e7e>] ns_hwcontrol+0x3e2/0x620 [nandsim]
      [<f8862f53>] nand_command+0x2e/0x1a5 [nand]
      [<f8861ad8>] nand_write_page+0x4a/0x9a [nand]
      [<f88617b4>] nand_do_write_ops+0x1cf/0x343 [nand]
      [<f8861a70>] nand_write+0x88/0xa6 [nand]
      [<f8850b0e>] part_write+0x72/0x8b [mtd]
      [<f88e19c5>] ubi_io_write+0x189/0x29c [ubi]
      [<f88dfb98>] ubi_eba_write_leb+0xb6/0x699 [ubi]
      [<f88def93>] ubi_leb_write+0xe4/0xe9 [ubi]
      [<f8ba3b82>] ubifs_wbuf_write_nolock+0x333/0x4c9 [ubifs]
      [<f8b9d28c>] write_node+0x74/0x8e [ubifs]
      [<f8b9d422>] ubifs_jrn_write_block+0x100/0x12f [ubifs]
      [<f8b9ff3a>] ubifs_writepage+0x11d/0x1ec [ubifs]
      [<c0159e5b>] __writepage+0xb/0x26
      [<c015a318>] write_cache_pages+0x203/0x2d9
      [<c015a411>] generic_writepages+0x23/0x2d
      [<c015a452>] do_writepages+0x37/0x39
      [<c018e24a>] __writeback_single_inode+0x96/0x399
      [<c018e903>] sync_sb_inodes+0x1a3/0x274
      [<c018ebf3>] writeback_inodes+0xa6/0xd8
      [<c015a9dd>] background_writeout+0x86/0x9e
      [<c015ae9c>] pdflush+0xfb/0x1b6
      [<c01387d7>] kthread+0x37/0x59
      [<c0104dc3>] kernel_thread_helper+0x7/0x14
      
      The deadlock is funny because it starts in pdflush/writeback,
      and comes back to writeback, then deadlocks. It seems we should look
      carefully for other places in UBI and MTD and use GFP_NOFS instead
      of GFP_KERNEL.
      Caught-by: NAdrian Hunter <ext-adrian.hunter@nokia.com>
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      98b830d2
  8. 18 4月, 2007 4 次提交
  9. 08 12月, 2006 1 次提交
  10. 29 11月, 2006 1 次提交
  11. 21 10月, 2006 4 次提交
  12. 01 7月, 2006 1 次提交
  13. 24 5月, 2006 2 次提交
  14. 23 5月, 2006 2 次提交
  15. 14 5月, 2006 1 次提交
  16. 30 11月, 2005 1 次提交
  17. 07 11月, 2005 1 次提交
  18. 23 5月, 2005 1 次提交
  19. 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