)]}'
{
  "log": [
    {
      "commit": "56de7263fcf3eb10c8dcdf8d59a9cec831795f3f",
      "tree": "164637c0b678e20adfdcec4129563d9234faf405",
      "parents": [
        "ed4a6d7f0676db50b5023cc01f6cda82a2f2a307"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: direct compact when a high-order allocation fails\n\nOrdinarily when a high-order allocation fails, direct reclaim is entered\nto free pages to satisfy the allocation.  With this patch, it is\ndetermined if an allocation failed due to external fragmentation instead\nof low memory and if so, the calling process will compact until a suitable\npage is freed.  Compaction by moving pages in memory is considerably\ncheaper than paging out to disk and works where there are locked pages or\nno swap.  If compaction fails to free a page of a suitable size, then\nreclaim will still occur.\n\nDirect compaction returns as soon as possible.  As each block is\ncompacted, it is checked if a suitable page has been freed and if so, it\nreturns.\n\n[akpm@linux-foundation.org: Fix build errors]\n[aarcange@redhat.com: fix count_vm_event preempt in memory compaction direct reclaim]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed4a6d7f0676db50b5023cc01f6cda82a2f2a307",
      "tree": "6496343ba964e105cf30f8703714471f22edc806",
      "parents": [
        "76ab0f530e4a01d4dc20cdc1d5e87753c579dc18"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: add /sys trigger for per-node memory compaction\n\nAdd a per-node sysfs file called compact.  When the file is written to,\neach zone in that node is compacted.  The intention that this would be\nused by something like a job scheduler in a batch system before a job\nstarts so that the job can allocate the maximum number of hugepages\nwithout significant start-up cost.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76ab0f530e4a01d4dc20cdc1d5e87753c579dc18",
      "tree": "8e1566df85e02f67876685c36d217fec4845f79f",
      "parents": [
        "748446bb6b5a9390b546af38ec899c868a9dbcf0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: add /proc trigger for memory compaction\n\nAdd a proc file /proc/sys/vm/compact_memory.  When an arbitrary value is\nwritten to the file, all zones are compacted.  The expected user of such a\ntrigger is a job scheduler that prepares the system before the target\napplication runs.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "748446bb6b5a9390b546af38ec899c868a9dbcf0",
      "tree": "4c27d0805a5e094b39ff938ad60dd270b953a79f",
      "parents": [
        "c175a0ce7584e5b498fff8cbdb9aa7912aa9fbba"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: memory compaction core\n\nThis patch is the core of a mechanism which compacts memory in a zone by\nrelocating movable pages towards the end of the zone.\n\nA single compaction run involves a migration scanner and a free scanner.\nBoth scanners operate on pageblock-sized areas in the zone.  The migration\nscanner starts at the bottom of the zone and searches for all movable\npages within each area, isolating them onto a private list called\nmigratelist.  The free scanner starts at the top of the zone and searches\nfor suitable areas and consumes the free pages within making them\navailable for the migration scanner.  The pages isolated for migration are\nthen migrated to the newly isolated free pages.\n\n[aarcange@redhat.com: Fix unsafe optimisation]\n[mel@csn.ul.ie: do not schedule work on other CPUs for compaction]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c175a0ce7584e5b498fff8cbdb9aa7912aa9fbba",
      "tree": "dd924daef4a9e0ac9729c5b61c30b8e3cc96f971",
      "parents": [
        "f1a5ab1210579e2d3ac8c0c227645823af5aafb0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: move definition for LRU isolation modes to a header\n\nCurrently, vmscan.c defines the isolation modes for __isolate_lru_page().\nMemory compaction needs access to these modes for isolating pages for\nmigration.  This patch exports them.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1a5ab1210579e2d3ac8c0c227645823af5aafb0",
      "tree": "c646a3d58150eab1a8280d02e6254ef6b90a6f37",
      "parents": [
        "d7a5752c0c19750312efab3a2a80d350e11fa4a2"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: export fragmentation index via debugfs\n\nThe fragmentation fragmentation index, is only meaningful if an allocation\nwould fail and indicates what the failure is due to.  A value of -1 such\nas in many of the examples above states that the allocation would succeed.\n If it would fail, the value is between 0 and 1.  A value tending towards\n0 implies the allocation failed due to a lack of memory.  A value tending\ntowards 1 implies it failed due to external fragmentation.\n\nFor the most part, the huge page size will be the size of interest but not\nnecessarily so it is exported on a per-order and per-zo basis via\n/sys/kernel/debug/extfrag/extfrag_index\n\n\u003e cat /sys/kernel/debug/extfrag/extfrag_index\nNode 0, zone      DMA -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.00\nNode 0, zone   Normal -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.954\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7a5752c0c19750312efab3a2a80d350e11fa4a2",
      "tree": "f604d9ae1d7f689e3314120e2d4edac36c1b5f22",
      "parents": [
        "a8bef8ff6ea15fa4c67433cab0f5f3484574ef7c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: export unusable free space index via debugfs\n\nThe unusable free space index measures how much of the available free\nmemory cannot be used to satisfy an allocation of a given size and is a\nvalue between 0 and 1.  The higher the value, the more of free memory is\nunusable and by implication, the worse the external fragmentation is.  For\nthe most part, the huge page size will be the size of interest but not\nnecessarily so it is exported on a per-order and per-zone basis via\n/sys/kernel/debug/extfrag/unusable_index.\n\n\u003e cat /sys/kernel/debug/extfrag/unusable_index\nNode 0, zone      DMA 0.000 0.000 0.000 0.001 0.005 0.013 0.021 0.037 0.037 0.101 0.230\nNode 0, zone   Normal 0.000 0.000 0.000 0.001 0.002 0.002 0.005 0.015 0.028 0.028 0.054\n\n[akpm@linux-foundation.org: Fix allnoconfig]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8bef8ff6ea15fa4c67433cab0f5f3484574ef7c",
      "tree": "3ea9c122e02f523379d4560ee2134124d097895c",
      "parents": [
        "e9e96b39f932a065e14f5d5bab0797ae261d03b5"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: migration: avoid race between shift_arg_pages() and rmap_walk() during migration by not migrating temporary stacks\n\nPage migration requires rmap to be able to find all ptes mapping a page\nat all times, otherwise the migration entry can be instantiated, but it\nis possible to leave one behind if the second rmap_walk fails to find\nthe page.  If this page is later faulted, migration_entry_to_page() will\ncall BUG because the page is locked indicating the page was migrated by\nthe migration PTE not cleaned up. For example\n\n  kernel BUG at include/linux/swapops.h:105!\n  invalid opcode: 0000 [#1] PREEMPT SMP\n  ...\n  Call Trace:\n   [\u003cffffffff810e951a\u003e] handle_mm_fault+0x3f8/0x76a\n   [\u003cffffffff8130c7a2\u003e] do_page_fault+0x44a/0x46e\n   [\u003cffffffff813099b5\u003e] page_fault+0x25/0x30\n   [\u003cffffffff8114de33\u003e] load_elf_binary+0x152a/0x192b\n   [\u003cffffffff8111329b\u003e] search_binary_handler+0x173/0x313\n   [\u003cffffffff81114896\u003e] do_execve+0x219/0x30a\n   [\u003cffffffff8100a5c6\u003e] sys_execve+0x43/0x5e\n   [\u003cffffffff8100320a\u003e] stub_execve+0x6a/0xc0\n  RIP  [\u003cffffffff811094ff\u003e] migration_entry_wait+0xc1/0x129\n\nThere is a race between shift_arg_pages and migration that triggers this\nbug.  A temporary stack is setup during exec and later moved.  If\nmigration moves a page in the temporary stack and the VMA is then removed\nbefore migration completes, the migration PTE may not be found leading to\na BUG when the stack is faulted.\n\nThis patch causes pages within the temporary stack during exec to be\nskipped by migration.  It does this by marking the VMA covering the\ntemporary stack with an otherwise impossible combination of VMA flags.\nThese flags are cleared when the temporary stack is moved to its final\nlocation.\n\n[kamezawa.hiroyu@jp.fujitsu.com: idea for having migration skip temporary stacks]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9e96b39f932a065e14f5d5bab0797ae261d03b5",
      "tree": "1164a4bf40c34715944b47da035ba823f1d8b60a",
      "parents": [
        "3fe2011ff51e92500010a495df4be86745fbbda9"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: allow CONFIG_MIGRATION to be set without CONFIG_NUMA or memory hot-remove\n\nCONFIG_MIGRATION currently depends on CONFIG_NUMA or on the architecture\nbeing able to hot-remove memory.  The main users of page migration such as\nsys_move_pages(), sys_migrate_pages() and cpuset process migration are\nonly beneficial on NUMA so it makes sense.\n\nAs memory compaction will operate within a zone and is useful on both NUMA\nand non-NUMA systems, this patch allows CONFIG_MIGRATION to be set if the\nuser selects CONFIG_COMPACTION as an option.\n\n[akpm@linux-foundation.org: Depend on CONFIG_HUGETLB_PAGE]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fe2011ff51e92500010a495df4be86745fbbda9",
      "tree": "f3dc07b9d41ce5ba15805c2d3b4bc0a1a7916832",
      "parents": [
        "67b9509b2c68ae38cecb83a239881cb0ddf087dc"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: migration: allow the migration of PageSwapCache pages\n\nPageAnon pages that are unmapped may or may not have an anon_vma so are\nnot currently migrated.  However, a swap cache page can be migrated and\nfits this description.  This patch identifies page swap caches and allows\nthem to be migrated but ensures that no attempt to made to remap the pages\nwould would potentially try to access an already freed anon_vma.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67b9509b2c68ae38cecb83a239881cb0ddf087dc",
      "tree": "a8cee4f4bec57ab44a993ce81df2a10a4980f0f8",
      "parents": [
        "7f60c214fd3a360461f3286c6908084f7f8b1950"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: migration: do not try to migrate unmapped anonymous pages\n\nrmap_walk_anon() was triggering errors in memory compaction that look like\nuse-after-free errors.  The problem is that between the page being\nisolated from the LRU and rcu_read_lock() being taken, the mapcount of the\npage dropped to 0 and the anon_vma gets freed.  This can happen during\nmemory compaction if pages being migrated belong to a process that exits\nbefore migration completes.  Hence, the use-after-free race looks like\n\n 1. Page isolated for migration\n 2. Process exits\n 3. page_mapcount(page) drops to zero so anon_vma was no longer reliable\n 4. unmap_and_move() takes the rcu_lock but the anon_vma is already garbage\n 4. call try_to_unmap, looks up tha anon_vma and \"locks\" it but the lock\n    is garbage.\n\nThis patch checks the mapcount after the rcu lock is taken.  If the\nmapcount is zero, the anon_vma is assumed to be freed and no further\naction is taken.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f60c214fd3a360461f3286c6908084f7f8b1950",
      "tree": "dba48cf988a22a40796187c7274f7903a288f7f4",
      "parents": [
        "3f6c82728f4e31a97c3a1b32abccb512fed0b573"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: migration: share the anon_vma ref counts between KSM and page migration\n\nFor clarity of review, KSM and page migration have separate refcounts on\nthe anon_vma.  While clear, this is a waste of memory.  This patch gets\nKSM and page migration to share their toys in a spirit of harmony.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f6c82728f4e31a97c3a1b32abccb512fed0b573",
      "tree": "4b577e789a5daef91e40d10bc71c8134b3874ae8",
      "parents": [
        "e325c90ffc13b698fa2814102e05275b21c26bec"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: migration: take a reference to the anon_vma before migrating\n\nThis patchset is a memory compaction mechanism that reduces external\nfragmentation memory by moving GFP_MOVABLE pages to a fewer number of\npageblocks.  The term \"compaction\" was chosen as there are is a number of\nmechanisms that are not mutually exclusive that can be used to defragment\nmemory.  For example, lumpy reclaim is a form of defragmentation as was\nslub \"defragmentation\" (really a form of targeted reclaim).  Hence, this\nis called \"compaction\" to distinguish it from other forms of\ndefragmentation.\n\nIn this implementation, a full compaction run involves two scanners\noperating within a zone - a migration and a free scanner.  The migration\nscanner starts at the beginning of a zone and finds all movable pages\nwithin one pageblock_nr_pages-sized area and isolates them on a\nmigratepages list.  The free scanner begins at the end of the zone and\nsearches on a per-area basis for enough free pages to migrate all the\npages on the migratepages list.  As each area is respectively migrated or\nexhausted of free pages, the scanners are advanced one area.  A compaction\nrun completes within a zone when the two scanners meet.\n\nThis method is a bit primitive but is easy to understand and greater\nsophistication would require maintenance of counters on a per-pageblock\nbasis.  This would have a big impact on allocator fast-paths to improve\ncompaction which is a poor trade-off.\n\nIt also does not try relocate virtually contiguous pages to be physically\ncontiguous.  However, assuming transparent hugepages were in use, a\nhypothetical khugepaged might reuse compaction code to isolate free pages,\nsplit them and relocate userspace pages for promotion.\n\nMemory compaction can be triggered in one of three ways.  It may be\ntriggered explicitly by writing any value to /proc/sys/vm/compact_memory\nand compacting all of memory.  It can be triggered on a per-node basis by\nwriting any value to /sys/devices/system/node/nodeN/compact where N is the\nnode ID to be compacted.  When a process fails to allocate a high-order\npage, it may compact memory in an attempt to satisfy the allocation\ninstead of entering direct reclaim.  Explicit compaction does not finish\nuntil the two scanners meet and direct compaction ends if a suitable page\nbecomes available that would meet watermarks.\n\nThe series is in 14 patches.  The first three are not \"core\" to the series\nbut are important pre-requisites.\n\nPatch 1 reference counts anon_vma for rmap_walk_anon(). Without this\n\tpatch, it\u0027s possible to use anon_vma after free if the caller is\n\tnot holding a VMA or mmap_sem for the pages in question. While\n\tthere should be no existing user that causes this problem,\n\tit\u0027s a requirement for memory compaction to be stable. The patch\n\tis at the start of the series for bisection reasons.\nPatch 2 merges the KSM and migrate counts. It could be merged with patch 1\n\tbut would be slightly harder to review.\nPatch 3 skips over unmapped anon pages during migration as there are no\n\tguarantees about the anon_vma existing. There is a window between\n\twhen a page was isolated and migration started during which anon_vma\n\tcould disappear.\nPatch 4 notes that PageSwapCache pages can still be migrated even if they\n\tare unmapped.\nPatch 5 allows CONFIG_MIGRATION to be set without CONFIG_NUMA\nPatch 6 exports a \"unusable free space index\" via debugfs. It\u0027s\n\ta measure of external fragmentation that takes the size of the\n\tallocation request into account. It can also be calculated from\n\tuserspace so can be dropped if requested\nPatch 7 exports a \"fragmentation index\" which only has meaning when an\n\tallocation request fails. It determines if an allocation failure\n\twould be due to a lack of memory or external fragmentation.\nPatch 8 moves the definition for LRU isolation modes for use by compaction\nPatch 9 is the compaction mechanism although it\u0027s unreachable at this point\nPatch 10 adds a means of compacting all of memory with a proc trgger\nPatch 11 adds a means of compacting a specific node with a sysfs trigger\nPatch 12 adds \"direct compaction\" before \"direct reclaim\" if it is\n\tdetermined there is a good chance of success.\nPatch 13 adds a sysctl that allows tuning of the threshold at which the\n\tkernel will compact or direct reclaim\nPatch 14 temporarily disables compaction if an allocation failure occurs\n\tafter compaction.\n\nTesting of compaction was in three stages.  For the test, debugging,\npreempt, the sleep watchdog and lockdep were all enabled but nothing nasty\npopped out.  min_free_kbytes was tuned as recommended by hugeadm to help\nfragmentation avoidance and high-order allocations.  It was tested on X86,\nX86-64 and PPC64.\n\nThs first test represents one of the easiest cases that can be faced for\nlumpy reclaim or memory compaction.\n\n1. Machine freshly booted and configured for hugepage usage with\n\ta) hugeadm --create-global-mounts\n\tb) hugeadm --pool-pages-max DEFAULT:8G\n\tc) hugeadm --set-recommended-min_free_kbytes\n\td) hugeadm --set-recommended-shmmax\n\n\tThe min_free_kbytes here is important. Anti-fragmentation works best\n\twhen pageblocks don\u0027t mix. hugeadm knows how to calculate a value that\n\twill significantly reduce the worst of external-fragmentation-related\n\tevents as reported by the mm_page_alloc_extfrag tracepoint.\n\n2. Load up memory\n\ta) Start updatedb\n\tb) Create in parallel a X files of pagesize*128 in size. Wait\n\t   until files are created. By parallel, I mean that 4096 instances\n\t   of dd were launched, one after the other using \u0026. The crude\n\t   objective being to mix filesystem metadata allocations with\n\t   the buffer cache.\n\tc) Delete every second file so that pageblocks are likely to\n\t   have holes\n\td) kill updatedb if it\u0027s still running\n\n\tAt this point, the system is quiet, memory is full but it\u0027s full with\n\tclean filesystem metadata and clean buffer cache that is unmapped.\n\tThis is readily migrated or discarded so you\u0027d expect lumpy reclaim\n\tto have no significant advantage over compaction but this is at\n\tthe POC stage.\n\n3. In increments, attempt to allocate 5% of memory as hugepages.\n\t   Measure how long it took, how successful it was, how many\n\t   direct reclaims took place and how how many compactions. Note\n\t   the compaction figures might not fully add up as compactions\n\t   can take place for orders other than the hugepage size\n\nX86\t\t\t\tvanilla\t\tcompaction\nFinal page count                    913                916 (attempted 1002)\npages reclaimed                   68296               9791\n\nX86-64\t\t\t\tvanilla\t\tcompaction\nFinal page count:                   901                902 (attempted 1002)\nTotal pages reclaimed:           112599              53234\n\nPPC64\t\t\t\tvanilla\t\tcompaction\nFinal page count:                    93                 94 (attempted 110)\nTotal pages reclaimed:           103216              61838\n\nThere was not a dramatic improvement in success rates but it wouldn\u0027t be\nexpected in this case either.  What was important is that fewer pages were\nreclaimed in all cases reducing the amount of IO required to satisfy a\nhuge page allocation.\n\nThe second tests were all performance related - kernbench, netperf, iozone\nand sysbench.  None showed anything too remarkable.\n\nThe last test was a high-order allocation stress test.  Many kernel\ncompiles are started to fill memory with a pressured mix of unmovable and\nmovable allocations.  During this, an attempt is made to allocate 90% of\nmemory as huge pages - one at a time with small delays between attempts to\navoid flooding the IO queue.\n\n                                             vanilla   compaction\nPercentage of request allocated X86               98           99\nPercentage of request allocated X86-64            95           98\nPercentage of request allocated PPC64             55           70\n\nThis patch:\n\nrmap_walk_anon() does not use page_lock_anon_vma() for looking up and\nlocking an anon_vma and it does not appear to have sufficient locking to\nensure the anon_vma does not disappear from under it.\n\nThis patch copies an approach used by KSM to take a reference on the\nanon_vma while pages are being migrated.  This should prevent rmap_walk()\nrunning into nasty surprises later because anon_vma has been freed.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e325c90ffc13b698fa2814102e05275b21c26bec",
      "tree": "dcb20cad204132e08476d3cb4da66f9a2e08b9fe",
      "parents": [
        "1a5cb81465b66b74bf3d6ad36e5382238de6a132"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon May 24 14:32:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: default to node zonelist ordering when nodes have only lowmem\n\nThere are two types of zonelist ordering methodologies:\n\n - node order, preferring allocations on a node to stay local to and\n\n - zone order, preferring allocations come from a higher zone to avoid\n   allocating in lowmem zones even though they may not be local.\n\nThe ordering technique used by the kernel is configurable on the command\nline, but also has some logic to determine what the default should be.\n\nThis logic currently lacks knowledge of systems where a node may only have\nlowmem.  For such systems, it is necessary to use node order so that\nGFP_KERNEL allocations may be satisfied by nodes consisting of only\nlowmem.\n\nIf zone order is used, GFP_KERNEL allocations to such nodes are actually\nallocated on a node with local affinity that includes ZONE_NORMAL.\n\nThis change defaults to node zonelist ordering if any node lacks\nZONE_NORMAL.\n\nTo force zone order, append \u0027numa_zonelist_order\u003dzone\u0027 to the kernel\ncommand line.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a5cb81465b66b74bf3d6ad36e5382238de6a132",
      "tree": "28494edfea96752f57c88601d80819759085fade",
      "parents": [
        "e48293fd75b3aa67f43ad6e3d2ff397caa55d58b"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Mon May 24 14:32:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "pagemap: add #ifdefs CONFIG_HUGETLB_PAGE on code walking hugetlb vma\n\nIf !CONFIG_HUGETLB_PAGE, pagemap_hugetlb_range() is never called.  So put\nit (and its calling function) into #ifdef block.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e48293fd75b3aa67f43ad6e3d2ff397caa55d58b",
      "tree": "8f163687833fb5e1fa84f72e2e72e1ab83aca91e",
      "parents": [
        "25ef0e50cca790370ad7838e3ad74db6a6a2d829"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: do nested page table walks\n\nDo page table walks with the well-known nested loops we use in several\nother places already.\n\nThis avoids doing full page table walks after every pte range and also\nallows to handle unmapped areas bigger than one pte range in one go.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25ef0e50cca790370ad7838e3ad74db6a6a2d829",
      "tree": "9fef482df352beaeeb0ae1c6a176448cf795d045",
      "parents": [
        "f488401076c5570130c018e573f450a9a6c43365"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: pass ranges as start,end address pairs\n\nInstead of passing a start address and a number of pages into the helper\nfunctions, convert them to use a start and an end address.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f488401076c5570130c018e573f450a9a6c43365",
      "tree": "0e704c52a45e44ba8cbb0dac529e9ad251d9edbd",
      "parents": [
        "6a60f1b3588aef6ddceaa14192df475d430cce45"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: break do_mincore() into logical pieces\n\nSplit out functions to handle hugetlb ranges, pte ranges and unmapped\nranges, to improve readability but also to prepare the file structure for\nnested page table walks.\n\nNo semantic changes intended.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a60f1b3588aef6ddceaa14192df475d430cce45",
      "tree": "4469beefed2e610eef9204b1a4d63cddc5d9aae4",
      "parents": [
        "c0ff7453bb5c7c98e0885fb94279f2571946f280"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: cleanups\n\nThis fixes some minor issues that bugged me while going over the code:\n\no adjust argument order of do_mincore() to match the syscall\no simplify range length calculation\no drop superfluous shift in huge tlb calculation, address is page aligned\no drop dead nr_huge calculation\no check pte_none() before pte_present()\no comment and whitespace fixes\n\nNo semantic changes intended.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0ff7453bb5c7c98e0885fb94279f2571946f280",
      "tree": "8bb2b169a5145f0496575dbd2f48bb4b1c83f819",
      "parents": [
        "708c1bbc9d0c3e57f40501794d9b0eed29d10fce"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon May 24 14:32:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "cpuset,mm: fix no node to alloc memory when changing cpuset\u0027s mems\n\nBefore applying this patch, cpuset updates task-\u003emems_allowed and\nmempolicy by setting all new bits in the nodemask first, and clearing all\nold unallowed bits later.  But in the way, the allocator may find that\nthere is no node to alloc memory.\n\nThe reason is that cpuset rebinds the task\u0027s mempolicy, it cleans the\nnodes which the allocater can alloc pages on, for example:\n\n(mpol: mempolicy)\n\ttask1\t\t\ttask1\u0027s mpol\ttask2\n\talloc page\t\t1\n\t  alloc on node0? NO\t1\n\t\t\t\t1\t\tchange mems from 1 to 0\n\t\t\t\t1\t\trebind task1\u0027s mpol\n\t\t\t\t0-1\t\t  set new bits\n\t\t\t\t0\t  \t  clear disallowed bits\n\t  alloc on node1? NO\t0\n\t  ...\n\tcan\u0027t alloc page\n\t  goto oom\n\nThis patch fixes this problem by expanding the nodes range first(set newly\nallowed bits) and shrink it lazily(clear newly disallowed bits).  So we\nuse a variable to tell the write-side task that read-side task is reading\nnodemask, and the write-side task clears newly disallowed nodes after\nread-side task ends the current memory allocation.\n\n[akpm@linux-foundation.org: fix spello]\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "708c1bbc9d0c3e57f40501794d9b0eed29d10fce",
      "tree": "4b19caf68c420b32abdf05af3d413b1320f04fbe",
      "parents": [
        "971ada0f6659488c3f36aed4c6f7670ff5ce4368"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon May 24 14:32:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: restructure rebinding-mempolicy functions\n\nNick Piggin reported that the allocator may see an empty nodemask when\nchanging cpuset\u0027s mems[1].  It happens only on the kernel that do not do\natomic nodemask_t stores.  (MAX_NUMNODES \u003e BITS_PER_LONG)\n\nBut I found that there is also a problem on the kernel that can do atomic\nnodemask_t stores.  The problem is that the allocator can\u0027t find a node to\nalloc page when changing cpuset\u0027s mems though there is a lot of free\nmemory.  The reason is like this:\n\n(mpol: mempolicy)\n\ttask1\t\t\ttask1\u0027s mpol\ttask2\n\talloc page\t\t1\n\t  alloc on node0? NO\t1\n\t\t\t\t1\t\tchange mems from 1 to 0\n\t\t\t\t1\t\trebind task1\u0027s mpol\n\t\t\t\t0-1\t\t  set new bits\n\t\t\t\t0\t  \t  clear disallowed bits\n\t  alloc on node1? NO\t0\n\t  ...\n\tcan\u0027t alloc page\n\t  goto oom\n\nI can use the attached program reproduce it by the following step:\n\n# mkdir /dev/cpuset\n# mount -t cpuset cpuset /dev/cpuset\n# mkdir /dev/cpuset/1\n# echo `cat /dev/cpuset/cpus` \u003e /dev/cpuset/1/cpus\n# echo `cat /dev/cpuset/mems` \u003e /dev/cpuset/1/mems\n# echo $$ \u003e /dev/cpuset/1/tasks\n# numactl --membind\u003d`cat /dev/cpuset/mems` ./cpuset_mem_hog \u003cnr_tasks\u003e \u0026\n   \u003cnr_tasks\u003e \u003d max(nr_cpus - 1, 1)\n# killall -s SIGUSR1 cpuset_mem_hog\n# ./change_mems.sh\n\nseveral hours later, oom will happen though there is a lot of free memory.\n\nThis patchset fixes this problem by expanding the nodes range first(set\nnewly allowed bits) and shrink it lazily(clear newly disallowed bits).  So\nwe use a variable to tell the write-side task that read-side task is\nreading nodemask, and the write-side task clears newly disallowed nodes\nafter read-side task ends the current memory allocation.\n\nThis patch:\n\nIn order to fix no node to alloc memory, when we want to update mempolicy\nand mems_allowed, we expand the set of nodes first (set all the newly\nnodes) and shrink the set of nodes lazily(clean disallowed nodes), But the\nmempolicy\u0027s rebind functions may breaks the expanding.\n\nSo we restructure the mempolicy\u0027s rebind functions and split the rebind\nwork to two steps, just like the update of cpuset\u0027s mems: The 1st step:\nexpand the set of the mempolicy\u0027s nodes.  The 2nd step: shrink the set of\nthe mempolicy\u0027s nodes.  It is used when there is no real lock to protect\nthe mempolicy in the read-side.  Otherwise we can do rebind work at once.\n\nIn order to implement it, we define\n\n\tenum mpol_rebind_step {\n\t\tMPOL_REBIND_ONCE,\n\t\tMPOL_REBIND_STEP1,\n\t\tMPOL_REBIND_STEP2,\n\t\tMPOL_REBIND_NSTEP,\n\t};\n\nIf the mempolicy needn\u0027t be updated by two steps, we can pass\nMPOL_REBIND_ONCE to the rebind functions.  Or we can pass\nMPOL_REBIND_STEP1 to do the first step of the rebind work and pass\nMPOL_REBIND_STEP2 to do the second step work.\n\nBesides that, it maybe long time between these two step and we have to\nrelease the lock that protects mempolicy and mems_allowed.  If we hold the\nlock once again, we must check whether the current mempolicy is under the\nrebinding (the first step has been done) or not, because the task may\nalloc a new mempolicy when we don\u0027t hold the lock.  So we defined the\nfollowing flag to identify it:\n\n#define MPOL_F_REBINDING (1 \u003c\u003c 2)\n\nThe new functions will be used in the next patch.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "971ada0f6659488c3f36aed4c6f7670ff5ce4368",
      "tree": "41cae3f0baf63eca482e4e17c3081cc6a8a86439",
      "parents": [
        "15d77835ac48dbc2d4884376ea6a08b65b1c40ba"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon May 24 14:32:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: document cpuset interaction with tmpfs mpol mount option\n\nUpdate Documentation/filesystems/tmpfs.txt to describe the interaction of\ntmpfs mount option memory policy with tasks\u0027 cpuset mems_allowed.\n\nNote: the mount(8) man page [in the util-linux-ng package] requires\nsimiliar updates.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15d77835ac48dbc2d4884376ea6a08b65b1c40ba",
      "tree": "4bb094f030cedf8376a70a65f9271b571ba37562",
      "parents": [
        "345ace9c797030e77da8ff211b9502370b9d81ab"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon May 24 14:32:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: factor mpol_shared_policy_init() return paths\n\nFactor out duplicate put/frees in mpol_shared_policy_init() to a common\nreturn path.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "345ace9c797030e77da8ff211b9502370b9d81ab",
      "tree": "5699b5b0b54412466b415ec581125e59f77d4b00",
      "parents": [
        "b4652e8429100ba5c3ddb49499faa1188c98c246"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon May 24 14:32:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: rename policy_types and cleanup initialization\n\nRename \u0027policy_types[]\u0027 to \u0027policy_modes[]\u0027 to better match the array\ncontents.\n\nUse designated intializer syntax for policy_modes[].\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4652e8429100ba5c3ddb49499faa1188c98c246",
      "tree": "55fa4fcdb8e8cf067b1474cc7068163e152f3075",
      "parents": [
        "e17f74af351cce9a1bade7b33af179497fdf95cf"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon May 24 14:32:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: lose unnecessary loop variable in mpol_parse_str()\n\nWe don\u0027t really need the extra variable \u0027i\u0027 in mpol_parse_str().  The only\nuse is as the the loop variable.  Then, it\u0027s assigned to \u0027mode\u0027.  Just use\nmode, and loose the \u0027uninitialized_var()\u0027 macro.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e17f74af351cce9a1bade7b33af179497fdf95cf",
      "tree": "99cce009bf299465a3b20594305ee209c8d85c3d",
      "parents": [
        "1980050250fa052b1c24a19f9b3d82fae14d77f8"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon May 24 14:32:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: don\u0027t call mpol_set_nodemask() when no_context\n\nNo need to call mpol_set_nodemask() when we have no context for the\nmempolicy.  This can occur when we\u0027re parsing a tmpfs \u0027mpol\u0027 mount option.\n Just save the raw nodemask in the mempolicy\u0027s w.user_nodemask member for\nuse when a tmpfs/shmem file is created.  mpol_shared_policy_init() will\n\"contextualize\" the policy for the new file based on the creating task\u0027s\ncontext.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1980050250fa052b1c24a19f9b3d82fae14d77f8",
      "tree": "96743238e6941bd7af113ebe9275f6892b374dd3",
      "parents": [
        "6eb27e1fdf5781719a3d2e90e6c89fa012135c62"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Mon May 24 14:32:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: remove redundant check\n\nLee\u0027s patch \"mempolicy: use MPOL_PREFERRED for system-wide default policy\"\nhas made the MPOL_DEFAULT only used in the memory policy APIs.  So, no\nneed to check in __mpol_equal also.  Also get rid of mpol_match_intent()\nand move its logic directly into __mpol_equal().\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6eb27e1fdf5781719a3d2e90e6c89fa012135c62",
      "tree": "23be89303ad69f5728f69665dfadf2b4dc45628c",
      "parents": [
        "6d556294d5b27fb12f18be7495af45b6156a409e"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Mon May 24 14:32:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: remove case MPOL_INTERLEAVE from policy_zonelist()\n\nIn policy_zonelist() mode MPOL_INTERLEAVE shouldn\u0027t happen, so fall\nthrough to BUG() instead of break to return.  I also fixed the comment.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d556294d5b27fb12f18be7495af45b6156a409e",
      "tree": "cb8549b4a4dc53399abc596dcac4630b0d936abf",
      "parents": [
        "e13861d822f8f443ca0c020ea8fc2dc01039cd63"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Mon May 24 14:31:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: remove redundant code\n\n1.  In funtion is_valid_nodemask(), varibable k will be inited to 0 in\n   the following loop, needn\u0027t init to policy_zone anymore.\n\n2. (MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES) has already defined\n   to MPOL_MODE_FLAGS in mempolicy.h.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e13861d822f8f443ca0c020ea8fc2dc01039cd63",
      "tree": "0e1ccaa6a2d682f7636b9d5ef5d4c73a28074988",
      "parents": [
        "4b50dc26a0a25a9d1998d206e1f7d849aa78063f"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon May 24 14:31:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mm: remove return value of putback_lru_pages()\n\nputback_lru_page() never can fail.  So it doesn\u0027t matter count of \"the\nnumber of pages put back\".\n\nIn addition, users of this functions don\u0027t use return value.\n\nLet\u0027s remove unnecessary code.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b50dc26a0a25a9d1998d206e1f7d849aa78063f",
      "tree": "892657690d555940ef854bc97aa47a45c2088bdf",
      "parents": [
        "e48e67e08c340def3d0349c2910d23c7985fb6fa"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon May 24 14:31:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "shmem: remove redundant code\n\nprep_new_page() will call set_page_private(page, 0) to initialise the\npage, so the code is redundant.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e48e67e08c340def3d0349c2910d23c7985fb6fa",
      "tree": "8cac490109c34d694147ef55bb2ab80769e5f331",
      "parents": [
        "6dda9d55bf545013597724bf0cd79d01bd2bd944"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon May 24 14:31:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:56 2010 -0700"
      },
      "message": "sparsemem: on no vmemmap path put mem_map on node high too\n\nWe need to put mem_map high when virtual memmap is not used.\n\nbefore this patch\nfree mem pfn range on first node:\n[    0.000000]  19 - 1f\n[    0.000000]  28 40 - 80 95\n[    0.000000]  702 740 - 1000 1000\n[    0.000000]  347c - 347e\n[    0.000000]  34e7 3500 - 3b80 3b8b\n[    0.000000]  73b8b 73bc0 - 73c00 73c00\n[    0.000000]  73ddd - 73e00\n[    0.000000]  73fdd - 74000\n[    0.000000]  741dd - 74200\n[    0.000000]  743dd - 74400\n[    0.000000]  745dd - 74600\n[    0.000000]  747dd - 74800\n[    0.000000]  749dd - 74a00\n[    0.000000]  74bdd - 74c00\n[    0.000000]  74ddd - 74e00\n[    0.000000]  74fdd - 75000\n[    0.000000]  751dd - 75200\n[    0.000000]  753dd - 75400\n[    0.000000]  755dd - 75600\n[    0.000000]  757dd - 75800\n[    0.000000]  759dd - 75a00\n[    0.000000]  79bdd 79c00 - 7d540 7d550\n[    0.000000]  7f745 - 7f750\n[    0.000000]  10000b 100040 - 2080000 2080000\nso only 79c00 - 7d540 are major free block under 4g...\n\nafter this patch, we will get\n[    0.000000]  19 - 1f\n[    0.000000]  28 40 - 80 95\n[    0.000000]  702 740 - 1000 1000\n[    0.000000]  347c - 347e\n[    0.000000]  34e7 3500 - 3600 3600\n[    0.000000]  37dd - 3800\n[    0.000000]  39dd - 3a00\n[    0.000000]  3bdd - 3c00\n[    0.000000]  3ddd - 3e00\n[    0.000000]  3fdd - 4000\n[    0.000000]  41dd - 4200\n[    0.000000]  43dd - 4400\n[    0.000000]  45dd - 4600\n[    0.000000]  47dd - 4800\n[    0.000000]  49dd - 4a00\n[    0.000000]  4bdd - 4c00\n[    0.000000]  4ddd - 4e00\n[    0.000000]  4fdd - 5000\n[    0.000000]  51dd - 5200\n[    0.000000]  53dd - 5400\n[    0.000000]  95dd 9600 - 7d540 7d550\n[    0.000000]  7f745 - 7f750\n[    0.000000]  17000b 170040 - 2080000 2080000\nwe will have 9600 - 7d540 for major free block...\n\nsparse-vmemmap path already used __alloc_bootmem_node_high()\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6dda9d55bf545013597724bf0cd79d01bd2bd944",
      "tree": "fd859ab0c2cc4df8b776f705151ba5163f588143",
      "parents": [
        "e9d6c157385e4efa61cb8293e425c9d8beba70d3"
      ],
      "author": {
        "name": "Corrado Zoccolo",
        "email": "czoccolo@gmail.com",
        "time": "Mon May 24 14:31:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:56 2010 -0700"
      },
      "message": "page allocator: reduce fragmentation in buddy allocator by adding buddies that are merging to the tail of the free lists\n\nIn order to reduce fragmentation, this patch classifies freed pages in two\ngroups according to their probability of being part of a high order merge.\n Pages belonging to a compound whose next-highest buddy is free are more\nlikely to be part of a high order merge in the near future, so they will\nbe added at the tail of the freelist.  The remaining pages are put at the\nfront of the freelist.\n\nIn this way, the pages that are more likely to cause a big merge are kept\nfree longer.  Consequently there is a tendency to aggregate the\nlong-living allocations on a subset of the compounds, reducing the\nfragmentation.\n\nThis heuristic was tested on three machines, x86, x86-64 and ppc64 with\n3GB of RAM in each machine.  The tests were kernbench, netperf, sysbench\nand STREAM for performance and a high-order stress test for huge page\nallocations.\n\nKernBench X86\nElapsed mean     374.77 ( 0.00%)   375.10 (-0.09%)\nUser    mean     649.53 ( 0.00%)   650.44 (-0.14%)\nSystem  mean      54.75 ( 0.00%)    54.18 ( 1.05%)\nCPU     mean     187.75 ( 0.00%)   187.25 ( 0.27%)\n\nKernBench X86-64\nElapsed mean      94.45 ( 0.00%)    94.01 ( 0.47%)\nUser    mean     323.27 ( 0.00%)   322.66 ( 0.19%)\nSystem  mean      36.71 ( 0.00%)    36.50 ( 0.57%)\nCPU     mean     380.75 ( 0.00%)   381.75 (-0.26%)\n\nKernBench PPC64\nElapsed mean     173.45 ( 0.00%)   173.74 (-0.17%)\nUser    mean     587.99 ( 0.00%)   587.95 ( 0.01%)\nSystem  mean      60.60 ( 0.00%)    60.57 ( 0.05%)\nCPU     mean     373.50 ( 0.00%)   372.75 ( 0.20%)\n\nNothing notable for kernbench.\n\nNetPerf UDP X86\n      64    42.68 ( 0.00%)     42.77 ( 0.21%)\n     128    85.62 ( 0.00%)     85.32 (-0.35%)\n     256   170.01 ( 0.00%)    168.76 (-0.74%)\n    1024   655.68 ( 0.00%)    652.33 (-0.51%)\n    2048  1262.39 ( 0.00%)   1248.61 (-1.10%)\n    3312  1958.41 ( 0.00%)   1944.61 (-0.71%)\n    4096  2345.63 ( 0.00%)   2318.83 (-1.16%)\n    8192  4132.90 ( 0.00%)   4089.50 (-1.06%)\n   16384  6770.88 ( 0.00%)   6642.05 (-1.94%)*\n\nNetPerf UDP X86-64\n      64   148.82 ( 0.00%)    154.92 ( 3.94%)\n     128   298.96 ( 0.00%)    312.95 ( 4.47%)\n     256   583.67 ( 0.00%)    626.39 ( 6.82%)\n    1024  2293.18 ( 0.00%)   2371.10 ( 3.29%)\n    2048  4274.16 ( 0.00%)   4396.83 ( 2.79%)\n    3312  6356.94 ( 0.00%)   6571.35 ( 3.26%)\n    4096  7422.68 ( 0.00%)   7635.42 ( 2.79%)*\n    8192 12114.81 ( 0.00%)* 12346.88 ( 1.88%)\n   16384 17022.28 ( 0.00%)* 17033.19 ( 0.06%)*\n             1.64%             2.73%\n\nNetPerf UDP PPC64\n      64    49.98 ( 0.00%)     50.25 ( 0.54%)\n     128    98.66 ( 0.00%)    100.95 ( 2.27%)\n     256   197.33 ( 0.00%)    191.03 (-3.30%)\n    1024   761.98 ( 0.00%)    785.07 ( 2.94%)\n    2048  1493.50 ( 0.00%)   1510.85 ( 1.15%)\n    3312  2303.95 ( 0.00%)   2271.72 (-1.42%)\n    4096  2774.56 ( 0.00%)   2773.06 (-0.05%)\n    8192  4918.31 ( 0.00%)   4793.59 (-2.60%)\n   16384  7497.98 ( 0.00%)   7749.52 ( 3.25%)\n\nThe tests are run to have confidence limits within 1%.  Results marked\nwith a * were not confident although in this case, it\u0027s only outside by\nsmall amounts.  Even with some results that were not confident, the\nnetperf UDP results were generally positive.\n\nNetPerf TCP X86\n      64   652.25 ( 0.00%)*   648.12 (-0.64%)*\n            23.80%            22.82%\n     128  1229.98 ( 0.00%)*  1220.56 (-0.77%)*\n            21.03%            18.90%\n     256  2105.88 ( 0.00%)   1872.03 (-12.49%)*\n             1.00%            16.46%\n    1024  3476.46 ( 0.00%)*  3548.28 ( 2.02%)*\n            13.37%            11.39%\n    2048  4023.44 ( 0.00%)*  4231.45 ( 4.92%)*\n             9.76%            12.48%\n    3312  4348.88 ( 0.00%)*  4396.96 ( 1.09%)*\n             6.49%             8.75%\n    4096  4726.56 ( 0.00%)*  4877.71 ( 3.10%)*\n             9.85%             8.50%\n    8192  4732.28 ( 0.00%)*  5777.77 (18.10%)*\n             9.13%            13.04%\n   16384  5543.05 ( 0.00%)*  5906.24 ( 6.15%)*\n             7.73%             8.68%\n\nNETPERF TCP X86-64\n            netperf-tcp-vanilla-netperf       netperf-tcp\n                   tcp-vanilla     pgalloc-delay\n      64  1895.87 ( 0.00%)*  1775.07 (-6.81%)*\n             5.79%             4.78%\n     128  3571.03 ( 0.00%)*  3342.20 (-6.85%)*\n             3.68%             6.06%\n     256  5097.21 ( 0.00%)*  4859.43 (-4.89%)*\n             3.02%             2.10%\n    1024  8919.10 ( 0.00%)*  8892.49 (-0.30%)*\n             5.89%             6.55%\n    2048 10255.46 ( 0.00%)* 10449.39 ( 1.86%)*\n             7.08%             7.44%\n    3312 10839.90 ( 0.00%)* 10740.15 (-0.93%)*\n             6.87%             7.33%\n    4096 10814.84 ( 0.00%)* 10766.97 (-0.44%)*\n             6.86%             8.18%\n    8192 11606.89 ( 0.00%)* 11189.28 (-3.73%)*\n             7.49%             5.55%\n   16384 12554.88 ( 0.00%)* 12361.22 (-1.57%)*\n             7.36%             6.49%\n\nNETPERF TCP PPC64\n            netperf-tcp-vanilla-netperf       netperf-tcp\n                   tcp-vanilla     pgalloc-delay\n      64   594.17 ( 0.00%)    596.04 ( 0.31%)*\n             1.00%             2.29%\n     128  1064.87 ( 0.00%)*  1074.77 ( 0.92%)*\n             1.30%             1.40%\n     256  1852.46 ( 0.00%)*  1856.95 ( 0.24%)\n             1.25%             1.00%\n    1024  3839.46 ( 0.00%)*  3813.05 (-0.69%)\n             1.02%             1.00%\n    2048  4885.04 ( 0.00%)*  4881.97 (-0.06%)*\n             1.15%             1.04%\n    3312  5506.90 ( 0.00%)   5459.72 (-0.86%)\n    4096  6449.19 ( 0.00%)   6345.46 (-1.63%)\n    8192  7501.17 ( 0.00%)   7508.79 ( 0.10%)\n   16384  9618.65 ( 0.00%)   9490.10 (-1.35%)\n\nThere was a distinct lack of confidence in the X86* figures so I included\nwhat the devation was where the results were not confident.  Many of the\nresults, whether gains or losses were within the standard deviation so no\nsolid conclusion can be reached on performance impact.  Looking at the\nfigures, only the X86-64 ones look suspicious with a few losses that were\noutside the noise.  However, the results were so unstable that without\nknowing why they vary so much, a solid conclusion cannot be reached.\n\nSYSBENCH X86\n              sysbench-vanilla     pgalloc-delay\n           1  7722.85 ( 0.00%)  7756.79 ( 0.44%)\n           2 14901.11 ( 0.00%) 13683.44 (-8.90%)\n           3 15171.71 ( 0.00%) 14888.25 (-1.90%)\n           4 14966.98 ( 0.00%) 15029.67 ( 0.42%)\n           5 14370.47 ( 0.00%) 14865.00 ( 3.33%)\n           6 14870.33 ( 0.00%) 14845.57 (-0.17%)\n           7 14429.45 ( 0.00%) 14520.85 ( 0.63%)\n           8 14354.35 ( 0.00%) 14362.31 ( 0.06%)\n\nSYSBENCH X86-64\n           1 17448.70 ( 0.00%) 17484.41 ( 0.20%)\n           2 34276.39 ( 0.00%) 34251.00 (-0.07%)\n           3 50805.25 ( 0.00%) 50854.80 ( 0.10%)\n           4 66667.10 ( 0.00%) 66174.69 (-0.74%)\n           5 66003.91 ( 0.00%) 65685.25 (-0.49%)\n           6 64981.90 ( 0.00%) 65125.60 ( 0.22%)\n           7 64933.16 ( 0.00%) 64379.23 (-0.86%)\n           8 63353.30 ( 0.00%) 63281.22 (-0.11%)\n           9 63511.84 ( 0.00%) 63570.37 ( 0.09%)\n          10 62708.27 ( 0.00%) 63166.25 ( 0.73%)\n          11 62092.81 ( 0.00%) 61787.75 (-0.49%)\n          12 61330.11 ( 0.00%) 61036.34 (-0.48%)\n          13 61438.37 ( 0.00%) 61994.47 ( 0.90%)\n          14 62304.48 ( 0.00%) 62064.90 (-0.39%)\n          15 63296.48 ( 0.00%) 62875.16 (-0.67%)\n          16 63951.76 ( 0.00%) 63769.09 (-0.29%)\n\nSYSBENCH PPC64\n                             -sysbench-pgalloc-delay-sysbench\n              sysbench-vanilla     pgalloc-delay\n           1  7645.08 ( 0.00%)  7467.43 (-2.38%)\n           2 14856.67 ( 0.00%) 14558.73 (-2.05%)\n           3 21952.31 ( 0.00%) 21683.64 (-1.24%)\n           4 27946.09 ( 0.00%) 28623.29 ( 2.37%)\n           5 28045.11 ( 0.00%) 28143.69 ( 0.35%)\n           6 27477.10 ( 0.00%) 27337.45 (-0.51%)\n           7 26489.17 ( 0.00%) 26590.06 ( 0.38%)\n           8 26642.91 ( 0.00%) 25274.33 (-5.41%)\n           9 25137.27 ( 0.00%) 24810.06 (-1.32%)\n          10 24451.99 ( 0.00%) 24275.85 (-0.73%)\n          11 23262.20 ( 0.00%) 23674.88 ( 1.74%)\n          12 24234.81 ( 0.00%) 23640.89 (-2.51%)\n          13 24577.75 ( 0.00%) 24433.50 (-0.59%)\n          14 25640.19 ( 0.00%) 25116.52 (-2.08%)\n          15 26188.84 ( 0.00%) 26181.36 (-0.03%)\n          16 26782.37 ( 0.00%) 26255.99 (-2.00%)\n\nAgain, there is little to conclude here.  While there are a few losses,\nthe results vary by +/- 8% in some cases.  They are the results of most\nconcern as there are some large losses but it\u0027s also within the variance\ntypically seen between kernel releases.\n\nThe STREAM results varied so little and are so verbose that I didn\u0027t\ninclude them here.\n\nThe final test stressed how many huge pages can be allocated.  The\nabsolute number of huge pages allocated are the same with or without the\npage.  However, the \"unusability free space index\" which is a measure of\nexternal fragmentation was slightly lower (lower is better) throughout the\nlifetime of the system.  I also measured the latency of how long it took\nto successfully allocate a huge page.  The latency was slightly lower and\non X86 and PPC64, more huge pages were allocated almost immediately from\nthe free lists.  The improvement is slight but there.\n\n[mel@csn.ul.ie: Tested, reworked for less branches]\n[czoccolo@gmail.com: fix oops by checking pfn_valid_within()]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9d6c157385e4efa61cb8293e425c9d8beba70d3",
      "tree": "fca2452b46328c9005b8a4043a22b7b1b4d47d0c",
      "parents": [
        "1f0a738868cbfe20ae53a00b7c302c04ef7ab8fc"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon May 24 14:31:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:56 2010 -0700"
      },
      "message": "tmpfs: insert tmpfs cache pages to inactive list at first\n\nShaohua Li reported parallel file copy on tmpfs can lead to OOM killer.\nThis is regression of caused by commit 9ff473b9a7 (\"vmscan: evict\nstreaming IO first\").  Wow, It is 2 years old patch!\n\nCurrently, tmpfs file cache is inserted active list at first.  This means\nthat the insertion doesn\u0027t only increase numbers of pages in anon LRU, but\nit also reduces anon scanning ratio.  Therefore, vmscan will get totally\nconfused.  It scans almost only file LRU even though the system has plenty\nunused tmpfs pages.\n\nHistorically, lru_cache_add_active_anon() was used for two reasons.\n1) Intend to priotize shmem page rather than regular file cache.\n2) Intend to avoid reclaim priority inversion of used once pages.\n\nBut we\u0027ve lost both motivation because (1) Now we have separate anon and\nfile LRU list.  then, to insert active list doesn\u0027t help such priotize.\n(2) In past, one pte access bit will cause page activation.  then to\ninsert inactive list with pte access bit mean higher priority than to\ninsert active list.  Its priority inversion may lead to uninteded lru\nchun.  but it was already solved by commit 645747462 (vmscan: detect\nmapped file pages used only once).  (Thanks Hannes, you are great!)\n\nThus, now we can use lru_cache_add_anon() instead.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f0a738868cbfe20ae53a00b7c302c04ef7ab8fc",
      "tree": "50f4eb77f1facf04cb27d5f09b99e3b1a2e9e6e7",
      "parents": [
        "e520c410854bab763be24e0fce7ba89dc252efee"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Mon May 24 14:31:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:56 2010 -0700"
      },
      "message": "xtensa: includecheck fix: vectors.S\n\nfix the following \u0027make includecheck\u0027 warnings:\n\n  arch/xtensa/kernel/vectors.S: asm/processor.h is included more than once.\n  arch/xtensa/kernel/vectors.S: asm/ptrace.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e520c410854bab763be24e0fce7ba89dc252efee",
      "tree": "6beaa5a9c76eb007f89ba0a8424004ded46d26d1",
      "parents": [
        "498900fc9cd1adbad1ba6b55ed9d8f2f5d655ca3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 24 14:31:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:56 2010 -0700"
      },
      "message": "xtensa: convert to asm-generic/hardirq.h\n\nAlso remove lots of unused irq_cpustat fields.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "498900fc9cd1adbad1ba6b55ed9d8f2f5d655ca3",
      "tree": "f99c1a1917f7d5f51977af9459bcc63d637ee209",
      "parents": [
        "7e125f7b9cbfce4101191b8076d606c517a73066"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon May 24 14:31:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:56 2010 -0700"
      },
      "message": "xtensa: set ARCH_KMALLOC_MINALIGN\n\nArchitectures that handle DMA-non-coherent memory need to set\nARCH_KMALLOC_MINALIGN to make sure that kmalloc\u0027ed buffer is DMA-safe: the\nbuffer doesn\u0027t share a cache with the others.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e125f7b9cbfce4101191b8076d606c517a73066",
      "tree": "ded140947b146cc7177519cd23cf81912de32687",
      "parents": [
        "064e297c324fff9b62226aae5dc468ebb272433c",
        "a9ddabc52ce3757a4331d6c1e8bf4065333cc51b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:05:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:05:29 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:\n  cmd640: fix kernel oops in test_irq() method\n  pdc202xx_old: ignore \"FIFO empty\" bit in test_irq() method\n  pdc202xx_old: wire test_irq() method for PDC2026x\n  IDE: pass IRQ flags to the IDE core\n  ide: fix comment typo in ide.h\n"
    },
    {
      "commit": "064e297c324fff9b62226aae5dc468ebb272433c",
      "tree": "49d031d180a30d6e94e4cfdcc46ec966399d8856",
      "parents": [
        "f13771187b9423b824f32518319f6da85d819003",
        "db52ecc2953d932b2fc1c62e585231659edd1d98"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:02:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:02:58 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (30 commits)\n  Blackfin: SMP: fix continuation lines\n  Blackfin: acvilon: fix timeout usage for I2C\n  Blackfin: fix typo in BF537 IRQ comment\n  Blackfin: unify duplicate MEM_MT48LC32M8A2_75 kconfig options\n  Blackfin: set ARCH_KMALLOC_MINALIGN\n  Blackfin: use atomic kmalloc in L1 alloc so it too can be atomic\n  Blackfin: another year of changes (update copyright in boot log)\n  Blackfin: optimize strncpy a bit\n  Blackfin: isram: clean up ITEST_COMMAND macro and improve the selftests\n  Blackfin: move string functions to normal lib/ assembly\n  Blackfin: SIC: cut down on IAR MMR reads a bit\n  Blackfin: bf537-minotaur: fix build errors due to header changes\n  Blackfin: kgdb: pass up the CC register instead of a 0 stub\n  Blackfin: handle HW errors in the new \"FAULT\" printing code\n  Blackfin: show the whole accumulator in the pseudo DBG insn\n  Blackfin: support all possible registers in the pseudo instructions\n  Blackfin: add support for the DBG (debug output) pseudo insn\n  Blackfin: change the BUG opcode to an unused 16-bit opcode\n  Blackfin: allow NMI watchdog to be used w/RETN as a scratch reg\n  Blackfin: add support for the DBGA (debug assert) pseudo insn\n  ...\n"
    },
    {
      "commit": "f13771187b9423b824f32518319f6da85d819003",
      "tree": "c431cf16c286065a302d5f3fb43fc1abac7e4047",
      "parents": [
        "15953654cc312429740fd58fb37a5a3d63a54376",
        "9f37af654fda88a8dcca74c785f6c20e52758866"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:01:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:01:10 2010 -0700"
      },
      "message": "Merge branch \u0027bkl/ioctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027bkl/ioctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  uml: Pushdown the bkl from harddog_kern ioctl\n  sunrpc: Pushdown the bkl from sunrpc cache ioctl\n  sunrpc: Pushdown the bkl from ioctl\n  autofs4: Pushdown the bkl from ioctl\n  uml: Convert to unlocked_ioctls to remove implicit BKL\n  ncpfs: BKL ioctl pushdown\n  coda: Clean-up whitespace problems in pioctl.c\n  coda: BKL ioctl pushdown\n  drivers: Push down BKL into various drivers\n  isdn: Push down BKL into ioctl functions\n  scsi: Push down BKL into ioctl functions\n  dvb: Push down BKL into ioctl functions\n  smbfs: Push down BKL into ioctl function\n  coda/psdev: Remove BKL from ioctl function\n  um/mmapper: Remove BKL usage\n  sn_hwperf: Kill BKL usage\n  hfsplus: Push down BKL into ioctl function\n"
    },
    {
      "commit": "15953654cc312429740fd58fb37a5a3d63a54376",
      "tree": "bbb6bf8d4ea943545e29ce896848182c4f206298",
      "parents": [
        "c3ed9ea4ab460080dea9449c709be9316c670c72",
        "24af3202459d9a25643009b1ab8ab5ff04d94b49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:00:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 08:00:13 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6:\n  ds2760_battery: Document ABI change\n  ds2760_battery: Make charge_now and charge_full writeable\n  power_supply: Add support for writeable properties\n  power_supply: Use attribute groups\n  power_supply: Add test_power driver\n  tosa_battery: Fix build error due to direct driver_data usage\n  wm97xx_battery: Quieten sparse warning (bat_set_pdata not declared)\n  ds2782_battery: Get rid of magic numbers in driver_data\n  ds2782_battery: Add support for ds2786 battery gas gauge\n  pda_power: Add function callbacks for suspend and resume\n  wm831x_power: Use genirq\n  Driver for Zipit Z2 battery chip\n  ds2782_battery: Fix clientdata on removal\n"
    },
    {
      "commit": "c3ed9ea4ab460080dea9449c709be9316c670c72",
      "tree": "8330e32353e132b090472751161325baf4e27133",
      "parents": [
        "0fed2b5cb4c04336b26b0cbf6f9a8c07081f79a6",
        "f00e047efdf9d31c8a7dd7875b411f97cfa7d8e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:59:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:59:17 2010 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus-urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus-urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: Fix slack calculation for expired timers\n  timekeeping: Fix timezone update\n"
    },
    {
      "commit": "0fed2b5cb4c04336b26b0cbf6f9a8c07081f79a6",
      "tree": "a9be0f082d3c2f53eb2d5f9de9ad900c31236b34",
      "parents": [
        "0163916f1db7f345963dad1af78b7628c759c6ee",
        "41ec7ebee14189a0424176279c227168960c28ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:58:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:58:28 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (25 commits)\n  sh: fix up sh7785lcr_32bit_defconfig.\n  arch/sh/lib/strlen.S: Checkpatch cleanup\n  sh: fix up sh7786 dmaengine build.\n  sh: guard cookie consistency across termination in the DMA driver\n  sh: prevent the DMA driver from unloading, while in use\n  sh: fix Oops in the serial SCI driver\n  sh: allow platforms to specify SD-card supported voltages\n  mmc: let MFD\u0027s provide supported Vdd card voltages to tmio_mmc\n  sh: disable SD-card write-protection detection on kfr2r09\n  mfd: pass platform flags down to the tmio_mmc driver\n  tmio: add a platform flag to disable card write-protection detection\n  sh: Add SDHI DMA support to migor\n  sh: Add SDHI DMA support to kfr2r09\n  sh: Add SDHI DMA support to ms7724se\n  sh: Add SDHI DMA support to ecovec\n  mmc: add DMA support to tmio_mmc driver, when used on SuperH\n  sh: prepare the SDHI MFD driver to pass DMA configuration to tmio_mmc.c\n  mmc: prepare tmio_mmc for passing of DMA configuration from the MFD cell\n  sh: add DMA slave definitions to sh7724\n  sh: add DMA slaves for two SDHI controllers to sh7722\n  ...\n"
    },
    {
      "commit": "0163916f1db7f345963dad1af78b7628c759c6ee",
      "tree": "c33e3551b7825e8700db65b8b27869f6f7d45c72",
      "parents": [
        "a69eee4988752c7196677958b4ed8f4c2b28499a",
        "ddf08f4b90a413892bbb9bb2e8a57aed991cd47d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:57:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:57:41 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  exofs: confusion between kmap() and kmap_atomic() api\n  exofs: Add default address_space_operations\n"
    },
    {
      "commit": "a69eee4988752c7196677958b4ed8f4c2b28499a",
      "tree": "b676b8a05e10f5003d17091fc7085fad29910702",
      "parents": [
        "3e766fd41ddc31c47ec5b2840c6a45803d35ff40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:45:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:45:43 2010 -0700"
      },
      "message": "Revert \"ath9k: Group Key fix for VAPs\"\n\nThis reverts commit 03ceedea972a82d343fa5c2528b3952fa9e615d5, since it\nbreaks resume from suspend-to-ram on Rafael\u0027s Acer Ferrari One.\nNetworkManager thinks everything is ok, but it can\u0027t connect to the AP\nto get an IP address after the resume.\n\nIn fact, it even breaks resume for non-ath9k chipsets: reverting it also\nfixes Rafael\u0027s Toshiba Protege R500 with the iwlagn driver.  As Johannes\nsays:\n\n  \"Indeed, this patch needs to be reverted. That mac80211 change is wrong\n   and completely unnecessary.\"\n\nReported-and-requested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Daniel Yingqiang Ma \u003cyma.cool@gmail.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e766fd41ddc31c47ec5b2840c6a45803d35ff40",
      "tree": "f007442f20757918aa024dda848baa7670baa580",
      "parents": [
        "4fd5ec509bd486b5dd8cac1a4d4d7e2cbdf7c546",
        "7845bc3e132605e3e8a1f37748e29281164b65f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:47 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: convert to unlocked_ioctl\n  fat: Cleanup nls_unload() usage\n  fat: use pack_hex_byte() instead of custom one\n"
    },
    {
      "commit": "4fd5ec509bd486b5dd8cac1a4d4d7e2cbdf7c546",
      "tree": "a8ddfdcc4bfb702457e8eeff57fd6b5a2f4249b2",
      "parents": [
        "6e188240ebc2a132d70924942d7c8b9acb46e11a",
        "6d27e64d74e14c1cf2b4af438d7e8a77017bd654"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:13 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: Optimize TCREATE by eliminating a redundant fid clone.\n  9p: cleanup: remove unneeded assignment\n  9p: Add mksock support\n  fs/9p: Make sure we properly instantiate dentry.\n  9p: add 9P2000.L rename operation\n  9p: add 9P2000.L statfs operation\n  9p: VFS switches for 9p2000.L: VFS switches\n  9p: VFS switches for 9p2000.L: protocol and client changes\n"
    },
    {
      "commit": "6e188240ebc2a132d70924942d7c8b9acb46e11a",
      "tree": "7628df39f9c1d60a639504faaf6b5941b2c4b4ae",
      "parents": [
        "62a11ae3405b6da2535d28e5facc2de5af4a7e62",
        "240ed68eb567d80dd6bab739341999a5ab0ad55d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:37:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:37:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (59 commits)\n  ceph: reuse mon subscribe message instead of allocated anew\n  ceph: avoid resending queued message to monitor\n  ceph: Storage class should be before const qualifier\n  ceph: all allocation functions should get gfp_mask\n  ceph: specify max_bytes on readdir replies\n  ceph: cleanup pool op strings\n  ceph: Use kzalloc\n  ceph: use common helper for aborted dir request invalidation\n  ceph: cope with out of order (unsafe after safe) mds reply\n  ceph: save peer feature bits in connection structure\n  ceph: resync headers with userland\n  ceph: use ceph. prefix for virtual xattrs\n  ceph: throw out dirty caps metadata, data on session teardown\n  ceph: attempt mds reconnect if mds closes our session\n  ceph: clean up send_mds_reconnect interface\n  ceph: wait for mds OPEN reply to indicate reconnect success\n  ceph: only send cap releases when mds is OPEN|HUNG\n  ceph: dicard cap releases on mds restart\n  ceph: make mon client statfs handling more generic\n  ceph: drop src address(es) from message header [new protocol feature]\n  ...\n"
    },
    {
      "commit": "62a11ae3405b6da2535d28e5facc2de5af4a7e62",
      "tree": "6b68f0e74fe08c0e87488ec0653d59c653e46745",
      "parents": [
        "cedfb2db7b2d6b2c780999536aa1e2650fadee36",
        "cf9b59e9d3e008591d1f54830f570982bb307a0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:37:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:37:38 2010 -0700"
      },
      "message": "Merge branch \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  of: change of_match_device to work with struct device\n  of: Remove duplicate fields from of_platform_driver\n  drivercore: Add of_match_table to the common device drivers\n  arch/microblaze: Move dma_mask from of_device into pdev_archdata\n  arch/powerpc: Move dma_mask from of_device into pdev_archdata\n  of: eliminate of_device-\u003enode and dev_archdata-\u003e{of,prom}_node\n  of: Always use \u0027struct device.of_node\u0027 to get device node pointer.\n  i2c/of: Allow device node to be passed via i2c_board_info\n  driver-core: Add device node pointer to struct device\n  of: protect contents of of_platform.h and of_device.h\n  of/flattree: Make unflatten_device_tree() safe to call from any arch\n  of/flattree: make of_fdt.h safe to unconditionally include.\n"
    },
    {
      "commit": "cedfb2db7b2d6b2c780999536aa1e2650fadee36",
      "tree": "d36479ce5997bd6b0d66764620d9139eda263c61",
      "parents": [
        "85f9642e3199271614210b8feebe18b7652894b6",
        "bb4f6b0cd7524ad7d56709723eaf8a7bf5a87b57"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:33:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:33:43 2010 -0700"
      },
      "message": "Merge branch \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Use alloc_pages_exact_node() for page allocation\n  slub: __kmalloc_node_track_caller should trace kmalloc_large_node case\n  slub: Potential stack overflow\n  crypto: Use ARCH_KMALLOC_MINALIGN for CRYPTO_MINALIGN now that it\u0027s exposed\n  mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to \u003clinux/slub_def.h\u003e\n  mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to \u003clinux/slob_def.h\u003e\n  mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to \u003clinux/slab_def.h\u003e\n  slab: Fix missing DEBUG_SLAB last user\n  slab: add memory hotplug support\n  slab: Fix continuation lines\n"
    },
    {
      "commit": "85f9642e3199271614210b8feebe18b7652894b6",
      "tree": "fc238154693ea3ff829482faeffad0cacdb5bae4",
      "parents": [
        "9b8f77a184fcc44349c547be944ba921fd4247b3"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:31:20 2010 -0700"
      },
      "message": "Documentation: update SubmitChecklist for O\u003dobjdir and kconfig testing\n\nAdd build testing using \u0027O\u003dbuilddir\u0027.\n\nAdd build testing with various kconfig symbols disabled, listing\ncommon ones that are known to cause build problems.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b8f77a184fcc44349c547be944ba921fd4247b3",
      "tree": "89446df32c4cefc56bb1445a2dd5fed6e7bf58d6",
      "parents": [
        "9f6aa5750de30b1ba35f6cb8de50c17b4fb59cab"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:31:20 2010 -0700"
      },
      "message": "fusion: fix kernel-doc notation\n\nThe function name must be followed by a space, hypen, space, and a\nshort description.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f6aa5750de30b1ba35f6cb8de50c17b4fb59cab",
      "tree": "ef60189f4b8fd342bd6fd043f5952b41a2779bd7",
      "parents": [
        "89bbfb6bfbd4dae1ec29d6d4b3518c031b4f190c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:31:20 2010 -0700"
      },
      "message": "scsi_scan.c: fix/convert functions to use kernel-doc\n\nscsi_scan.c: fix incorrectly formatted kernel-doc notation\n\u0026 convert documentation of 2 functions into kernel-doc.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89bbfb6bfbd4dae1ec29d6d4b3518c031b4f190c",
      "tree": "7b9cc9b64d8121ce9a5edcbb1d3291735806b8b4",
      "parents": [
        "4164fcc2f9b02a7cba31215328753fe328ce0d90"
      ],
      "author": {
        "name": "Carlo Marcelo Arenas Belon",
        "email": "carenas@sajinet.com.pe",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:30:56 2010 -0700"
      },
      "message": "Documentation/vm: use better value for MAP_HUGETLB\n\ndocumentation: slightly more correct value for MAP_HUGETLB in map_hugetlb.c\n\nstill not correct for alpha, mips, parisc or xtensa but working out of\nthe box in the most common architectures without having to deal with\ncomplicated macros or including architecture specific headers.\n\nSigned-off-by: Carlo Marcelo Arenas Belon \u003ccarenas@sajinet.com.pe\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4164fcc2f9b02a7cba31215328753fe328ce0d90",
      "tree": "185da33af9b06f5460c7fd7c96478b63848e26bb",
      "parents": [
        "e6a591e58e2c70912987f9f19d36ba967063b251"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:30:56 2010 -0700"
      },
      "message": "Documentation/timers/hpet_example: drop duplicate header files\n\nDocumentation/timers/hpet_example.c: fcntl.h is included more than once.\nDocumentation/timers/hpet_example.c: signal.h is included more than once.\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6a591e58e2c70912987f9f19d36ba967063b251",
      "tree": "2b49c1d8e401df32193709e9f8d3324e37d3359f",
      "parents": [
        "ef0eba477eeb424db97a162eb3a8c887b9c619df"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:30:55 2010 -0700"
      },
      "message": "Documentation/development-process: add staging \u0026 mmotm info\n\nUpdate explanation of mmotm.\nAdd explanation of drivers/staging/.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef0eba477eeb424db97a162eb3a8c887b9c619df",
      "tree": "6bfb0f3b7d835406df5bb27f11b03ed00f546472",
      "parents": [
        "0af76d950e69725dec55dc9735a37f9f9116f07f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:30:55 2010 -0700"
      },
      "message": "Documentation/development-process: add maintainers and git info\n\nAdd info on maintainers and persistent posting.\nUpdate git home page.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0af76d950e69725dec55dc9735a37f9f9116f07f",
      "tree": "0a1cac398853ffadddb50004a507645e68abe0c0",
      "parents": [
        "f4b87dee923342505e1ddba8d34ce9de33e75050"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hsweeten@visionengravers.com",
        "time": "Sun May 23 17:02:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:30:55 2010 -0700"
      },
      "message": "docbook: make mtd nand module init static\n\nIn the example the module_init function should be static.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f00e047efdf9d31c8a7dd7875b411f97cfa7d8e5",
      "tree": "4f6af8a7025480aa5d35e438acda9011526406ce",
      "parents": [
        "bd45b7a385c5ffd82c11a1d51880be18559e5ad9"
      ],
      "author": {
        "name": "Jeff Chua",
        "email": "jeff.chua.linux@gmail.com",
        "time": "Mon May 24 07:16:24 2010 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 24 12:10:23 2010 +0200"
      },
      "message": "timers: Fix slack calculation for expired timers\n\ncommit 3bbb9ec946 (timers: Introduce the concept of timer slack for\nlegacy timers) does not take the case into account when the timer is\nalready expired. This broke wireless drivers.\n\nThe solution is not to apply slack to already expired timers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "bd45b7a385c5ffd82c11a1d51880be18559e5ad9",
      "tree": "d5fb7949b599a0a0aa86233d8c3118cc5b0bf9b9",
      "parents": [
        "f4b87dee923342505e1ddba8d34ce9de33e75050"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 23 08:14:45 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 24 11:50:38 2010 +0200"
      },
      "message": "timekeeping: Fix timezone update\n\ncommit 64ce4c2f (time: Clean up warp_clock()) breaks the timezone\nupdate in a very subtle way. To avoid the direct access to timekeeping\ninternals it adds the timezone delta to the current time with\ntimespec_add_safe(). This works nicely when the timezone delta is \u003e 0.\nIf timezone delta is \u003c 0 then the wrap check in timespec_add_safe()\ntriggers and timespec_add_safe() returns TIME_MAX and screws up\ntimekeeping completely. \n\nThe comment above timespec_add_safe() says:\n    It\u0027s assumed that both values are valid (\u003e\u003d 0)\n\nAdd the timezone seconds adjustment directly.\n\nReported-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "41ec7ebee14189a0424176279c227168960c28ad",
      "tree": "9273d7ef0e45d958818de65c2ae4b146b9a8501c",
      "parents": [
        "a5c4300389bb33ade2515c082709217f0614cf15"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon May 24 08:33:53 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon May 24 08:33:53 2010 +0900"
      },
      "message": "sh: fix up sh7785lcr_32bit_defconfig.\n\nThe build scripts inadvertently dropped this down to 29-bit, fix it\nback up.\n\nReported-by: Raul Porcel \u003carmin76@gentoo.org\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a5c4300389bb33ade2515c082709217f0614cf15",
      "tree": "d47fc7b9d62bd26aa2b5c35770073dcab0318730",
      "parents": [
        "ed0ad6d3a0720faa999e4bf9d4ed404cfd5eb4cc"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Sun May 23 20:02:06 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon May 24 08:11:07 2010 +0900"
      },
      "message": "arch/sh/lib/strlen.S: Checkpatch cleanup\n\narch/sh/lib/strlen.S:38: ERROR: trailing whitespace\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "db52ecc2953d932b2fc1c62e585231659edd1d98",
      "tree": "2862ed9c5306ed45de275d9d033c1ad170bff29d",
      "parents": [
        "efc5863eb52a04134869f5ceb5f81a6fe9b47469"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 26 19:27:51 2010 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:15 2010 -0400"
      },
      "message": "Blackfin: SMP: fix continuation lines\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "efc5863eb52a04134869f5ceb5f81a6fe9b47469",
      "tree": "e6f057b7818a0a883ba5f0541e1796928858b3ff",
      "parents": [
        "d016a21362194826518d4ac9ca3f768d0345cd2c"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Sun Apr 04 16:04:16 2010 +0200"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:15 2010 -0400"
      },
      "message": "Blackfin: acvilon: fix timeout usage for I2C\n\nThe timeout value is in jiffies, so it should be using HZ, not a plain\nnumber. As \u002710000\u0027 is ambiguous, 1HZ is used as conservative default.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Valentin Yakovenkov \u003cyakovenkov@gmail.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "d016a21362194826518d4ac9ca3f768d0345cd2c",
      "tree": "ba787cc297864ef259f86ef21a38685706612ccd",
      "parents": [
        "084f9ebfd0915203b603392a66be15009b348fe1"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Fri May 21 09:36:51 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:14 2010 -0400"
      },
      "message": "Blackfin: fix typo in BF537 IRQ comment\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "084f9ebfd0915203b603392a66be15009b348fe1",
      "tree": "b387fec4c5d993024a8d6223ab53e51ae928dd93",
      "parents": [
        "76b99699a2bbf9efdb578f9a38a202af2ecb354b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu May 20 04:26:54 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:13 2010 -0400"
      },
      "message": "Blackfin: unify duplicate MEM_MT48LC32M8A2_75 kconfig options\n\nReported-by: Christoph Egger \u003csiccegge@cs.fau.de\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "76b99699a2bbf9efdb578f9a38a202af2ecb354b",
      "tree": "ef7eba05b7b611009d2fb108e58b655550387416",
      "parents": [
        "eb5400b6131e6ebaacf809357643a22a72d5cc4c"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed May 19 23:21:38 2010 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:13 2010 -0400"
      },
      "message": "Blackfin: set ARCH_KMALLOC_MINALIGN\n\nArchitectures that handle DMA-non-coherent memory need to set\nARCH_KMALLOC_MINALIGN to make sure that kmalloc\u0027ed buffer is DMA-safe:\nthe buffer doesn\u0027t share a cache with the others.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "eb5400b6131e6ebaacf809357643a22a72d5cc4c",
      "tree": "5b95658962e3a30fbfdc052647ac55bb04fc03c1",
      "parents": [
        "be1577e3787536290cc17afaeb2cd58bbcc7ed6c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue May 11 04:43:19 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:12 2010 -0400"
      },
      "message": "Blackfin: use atomic kmalloc in L1 alloc so it too can be atomic\n\nSome drivers allocate L1 SRAM in atomic contexts, so make sure these\nfunctions also use GFP_ATOMIC to avoid BUG()\u0027s.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "be1577e3787536290cc17afaeb2cd58bbcc7ed6c",
      "tree": "5d5ced5a78b4d9e0b2830d78603b19aca223f33c",
      "parents": [
        "648eee52ccdc623e21b920d6048e93490a4860a7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon May 10 05:21:50 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:11 2010 -0400"
      },
      "message": "Blackfin: another year of changes (update copyright in boot log)\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "648eee52ccdc623e21b920d6048e93490a4860a7",
      "tree": "1d106f156abb6c7a0169a392f4856cd63893e079",
      "parents": [
        "c70dcabc8eba18113a4735e7b1bd09f7493e38f0"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Tue May 04 14:59:21 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:11 2010 -0400"
      },
      "message": "Blackfin: optimize strncpy a bit\n\nAdd a little strncpy optimization which can easily cut boot time by 20%.\n\nWhen the kernel is booting with initramfs, it builds up the filesystem\nfrom a cpio archive by calling strncpy_from_user() via fs/namei.c\u0027s\ndo_getname() on every file in the archive (which can be lots) with a\nlength of PATH_MAX (1024).  This causes the dest of the strncpy to be\npadded with many NUL bytes.\n\nThis optimization mostly causes these NUL bytes to be padded with a call\nto memset() which is already optimized for filling memory quickly, but\nthe hardware loop helps a little bit as well.\n\nBoot time measured with \u0027loglevel\u003d0\u0027 so UART speed doesn\u0027t get in the way.\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "c70dcabc8eba18113a4735e7b1bd09f7493e38f0",
      "tree": "80f2ca9f649b05b2bf0de3027061664db8454748",
      "parents": [
        "479ba6035862a9c08ce4351c7fff8926fde4ede5"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue May 04 04:14:08 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:10 2010 -0400"
      },
      "message": "Blackfin: isram: clean up ITEST_COMMAND macro and improve the selftests\n\nThe IADDR2DTEST() macro had some duplicated logic with bit 11 and some\nincorrect comments, so scrub all of that.\n\nIn order to verify these aren\u0027t a problem (and won\u0027t be in the future),\nextend the self tests to operate on as much L1 SRAM as possible.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "479ba6035862a9c08ce4351c7fff8926fde4ede5",
      "tree": "93a6419ffdfd38056f26d4362de450f79af044b3",
      "parents": [
        "80fcdb959343ab9e0ee95c11b5ea47c44a2c3004"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Mon May 03 17:23:20 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:09 2010 -0400"
      },
      "message": "Blackfin: move string functions to normal lib/ assembly\n\nSince \u0027extern inline\u0027 doesn\u0027t work correctly in the context of the Linux\nkernel (too many overriding defines), move the string functions to normal\nlib/ assembly files (like the existing mem funcs).  This avoids the forced\ninline all over the kernel and allows us to place them constantly in L1.\n\nThis also avoids some module failures when gcc inserts calls to string\nfunctions but the kernel build system doesn\u0027t fully consult the library\narchives.\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "80fcdb959343ab9e0ee95c11b5ea47c44a2c3004",
      "tree": "16d44c1fb014d3b9856d65c7bd8966d35a3719b2",
      "parents": [
        "11cabcb95e0d9de15f3d8a9d25336edfc5444337"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Apr 22 21:15:00 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:09 2010 -0400"
      },
      "message": "Blackfin: SIC: cut down on IAR MMR reads a bit\n\nTweak the for loops that operate on the SIC IAR system MMRs to avoid\nre-reading them multiple times in a row.  System MMRs are a little\nslower to access, so avoid the penalty when possible.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "11cabcb95e0d9de15f3d8a9d25336edfc5444337",
      "tree": "9d929ae29a447f37f4358cf36fe1f9956948e5c6",
      "parents": [
        "d2db97bf6bafde4ec114d1837dd3fc4cea64b2ea"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Apr 15 16:31:43 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:08 2010 -0400"
      },
      "message": "Blackfin: bf537-minotaur: fix build errors due to header changes\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "d2db97bf6bafde4ec114d1837dd3fc4cea64b2ea",
      "tree": "d16670f4269cf3255c2deb333a2895a8ef01b821",
      "parents": [
        "a80d5f449d1794d8e402f28cf3e1e9b57cb9f2d4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Apr 12 05:53:35 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:07 2010 -0400"
      },
      "message": "Blackfin: kgdb: pass up the CC register instead of a 0 stub\n\nWhile the CC pseudo register can be deduced from the ASTAT register, make\nsure we set its value correctly instead of always stubbing it out as 0.\nGDB itself looks at this pseudo register instead of ASTAT, so we have to\nsupply the right value.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "a80d5f449d1794d8e402f28cf3e1e9b57cb9f2d4",
      "tree": "72d01ce134703d40197a6c66b5c5811fdc717f59",
      "parents": [
        "a6d9dbf5e4daaf21b33917a809a5ac1e7bce9e05"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Mon Mar 29 14:07:33 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:07 2010 -0400"
      },
      "message": "Blackfin: handle HW errors in the new \"FAULT\" printing code\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "a6d9dbf5e4daaf21b33917a809a5ac1e7bce9e05",
      "tree": "2ab2008bb02ebaf13564a94828e91579e02e006b",
      "parents": [
        "5a132f7aeba772e1e1f9ccbad14a6779cd40cdfb"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Mon Mar 29 04:30:40 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:06 2010 -0400"
      },
      "message": "Blackfin: show the whole accumulator in the pseudo DBG insn\n\nRather than print just part of the accumulator register, show the whole\n40 bits.  This matches the simulator behavior better.\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "5a132f7aeba772e1e1f9ccbad14a6779cd40cdfb",
      "tree": "ee187a1cc27f4a84b13291c3eb8df12b43f1ec53",
      "parents": [
        "dc89d97fc73176c883b32ff21ae6f1164ca20d05"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Mon Mar 29 02:04:45 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:05 2010 -0400"
      },
      "message": "Blackfin: support all possible registers in the pseudo instructions\n\nRather than decoding just the common R/P registers, handle all of them.\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "dc89d97fc73176c883b32ff21ae6f1164ca20d05",
      "tree": "bf96980105a75e89ebc0a61bf008e41434c2f819",
      "parents": [
        "6a4110c2b38da51b767e389a6fb477072cf5843c"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Sun Mar 28 12:50:53 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:05 2010 -0400"
      },
      "message": "Blackfin: add support for the DBG (debug output) pseudo insn\n\nAnother pseudo insn used by Blackfin simulators.  Also factor some now\ncommon register lookup code out of the DBGA handlers.\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "6a4110c2b38da51b767e389a6fb477072cf5843c",
      "tree": "f9c2ea8d0b442766391ed559dca5c9c11f7ce558",
      "parents": [
        "c429886a7091f9d26dee7d01c20fd822f62c35e0"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Tue Mar 23 17:27:41 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:04 2010 -0400"
      },
      "message": "Blackfin: change the BUG opcode to an unused 16-bit opcode\n\nThe current BUG opcode includes the bit that flags the insn as a 32bit\nopcode, but it wasn\u0027t declaring it as 32bits.  So pick an unused 16bit.\n\nURL: http://blackfin.uclinux.org/gf/tracker/5973\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "c429886a7091f9d26dee7d01c20fd822f62c35e0",
      "tree": "081191e6274817d2f3d9bee8b27b1f8f145b939f",
      "parents": [
        "6ce3e9c2a2cfb8849dd471349fe5e6bc37c0f13f"
      ],
      "author": {
        "name": "Graf Yang",
        "email": "graf.yang@analog.com",
        "time": "Wed Mar 17 09:00:32 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:19:04 2010 -0400"
      },
      "message": "Blackfin: allow NMI watchdog to be used w/RETN as a scratch reg\n\nNMIs are not safe to return from because many anomaly workarounds are\nimplemented by disabling interrupts.  The NMI obviously violates this\nassumption.  Since the NMI watchdog never returns, we don\u0027t have to\nworry about it clobbering RETN when it is being used as a scratch register\nwith the exception stack.\n\nSigned-off-by: Graf Yang \u003cgraf.yang@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "6ce3e9c2a2cfb8849dd471349fe5e6bc37c0f13f",
      "tree": "9575e410b1fd9bbd3fab680ea4f5c3d7d8e832e0",
      "parents": [
        "2620c83668660d950cb4295aeb7147f1e599c638"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "robin.getz@analog.com",
        "time": "Tue Mar 16 14:40:17 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 22 14:18:56 2010 -0400"
      },
      "message": "Blackfin: add support for the DBGA (debug assert) pseudo insn\n\nA few pseudo debug insns exist to make testing of simulators easier.\nSince these don\u0027t actually exist in the hardware, we have to have the\nexception handler take care of emulating these.  This allows sim test\ncases to be executed unmodified under Linux and thus simplify debugging\ngreatly.\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "6d27e64d74e14c1cf2b4af438d7e8a77017bd654",
      "tree": "8b402bf58da42297521ec12bb024be566790cd6a",
      "parents": [
        "fe5bd0736bcdf35bd6cc300211a97c2fef8bd83e"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon May 10 18:08:28 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:39:02 2010 -0500"
      },
      "message": "9p: Optimize TCREATE by eliminating a redundant fid clone.\n\nThis patch removes a redundant fid clone on the directory fid and hence\nreduces a server transaction while creating new filesystem object.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fe5bd0736bcdf35bd6cc300211a97c2fef8bd83e",
      "tree": "2116a7989eeef6ff063565f8525f53b526d6c8e4",
      "parents": [
        "75cc5c9b82a31936d2a8cb75f34752000e244015"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri May 07 08:26:23 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:34:12 2010 -0500"
      },
      "message": "9p: cleanup: remove unneeded assignment\n\nWe never use \"v9ses\" and so we can remove it.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "75cc5c9b82a31936d2a8cb75f34752000e244015",
      "tree": "1c783ff2a3d50297c9f1c1f0130927b4dd478297",
      "parents": [
        "85e0df240e9376ff58eb1a50d9854f5f176dd297"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Sat May 22 12:20:30 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:34:12 2010 -0500"
      },
      "message": "9p: Add mksock support\n\nWithout this patch, an attempt to mksock will get an EINVAL.\n\nBefore this patch:\n[root@localhost 1dir]# mksock mysock\nmksock: error making mysock: Invalid argument\n\nWith this patch:\n[root@localhost 1dir]# mksock mysock\n[root@localhost 1dir]# ls    -l mysock\ns--------- 1 root root 0 2010-03-31 17:44 mysock\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "85e0df240e9376ff58eb1a50d9854f5f176dd297",
      "tree": "253d86bccb5ca9a23863de2caa40b12d3097d624",
      "parents": [
        "4681dbdacb5cdc4d3273c3a97a1858d6e00a5fe7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri May 14 13:04:39 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:34:11 2010 -0500"
      },
      "message": "fs/9p: Make sure we properly instantiate dentry.\n\nFor lookup if we get ENOENT error from the server we still\ninstantiate the dentry. We need to make sure we have dentry\noperations set in that case so that a later dput on the dentry\ndoes the expected. Without the patch we get the below error\n\n#ln  -sf abc abclink\nln: creating symbolic link `abclink\u0027: No such file or directory\n\nNow on the host do\n$ touch abclink\n\nGuest now gives ENOENT error.\n# ls\nls: cannot access abclink: No such file or directory\n\nDebugged-by:Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9f37af654fda88a8dcca74c785f6c20e52758866",
      "tree": "e9a461031d9b8dffdeb29d889daf6cf1be5e4041",
      "parents": [
        "9918ff26b301e9a57f25fb12b44a46ad0c1e8f8f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 19 15:08:17 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 22 17:44:21 2010 +0200"
      },
      "message": "uml: Pushdown the bkl from harddog_kern ioctl\n\nPushdown the bkl to harddog_ioctl.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Uml \u003cuser-mode-linux-devel@lists.sourceforge.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "9918ff26b301e9a57f25fb12b44a46ad0c1e8f8f",
      "tree": "1b9795fc5d6e7f085b48d8a3cd853a5668f772d5",
      "parents": [
        "674b604cdd389252d89a14133b6ebf80165d1d55"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 19 15:08:17 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 22 17:44:20 2010 +0200"
      },
      "message": "sunrpc: Pushdown the bkl from sunrpc cache ioctl\n\nPushdown the bkl to cache_ioctl_pipefs.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Nfs \u003clinux-nfs@vger.kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "674b604cdd389252d89a14133b6ebf80165d1d55",
      "tree": "249bc1db46d63b6104474c937ad5a15b70cbfe02",
      "parents": [
        "3663df70c028bc435d6f2ec532a4849db62d1656"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 19 15:08:17 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 22 17:44:19 2010 +0200"
      },
      "message": "sunrpc: Pushdown the bkl from ioctl\n\nPushdown the bkl to rpc_pipe_ioctl.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Nfs \u003clinux-nfs@vger.kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "3663df70c028bc435d6f2ec532a4849db62d1656",
      "tree": "5ae705c680ac791d0caf1cc0c20ed02ae920b4de",
      "parents": [
        "d6c89d9aca0933d90ab926bf448b32f24a163792"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 19 15:08:17 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 22 17:44:18 2010 +0200"
      },
      "message": "autofs4: Pushdown the bkl from ioctl\n\nPushdown the bkl to autofs4_root_ioctl.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Autofs \u003cautofs@linux.kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "ed0ad6d3a0720faa999e4bf9d4ed404cfd5eb4cc",
      "tree": "a333e1b48e3bf6db3c5356c4e8e7a536b84e47c5",
      "parents": [
        "9255f1deec151ac0e84871d06bc27406cb81f26f"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:12:23 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:12:23 2010 +0900"
      },
      "message": "sh: fix up sh7786 dmaengine build.\n\nThe asm/dmaengine.h header is gone now, update accordingly.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9255f1deec151ac0e84871d06bc27406cb81f26f",
      "tree": "b4e454e2339207a1ce3bbe826f624c1f80323487",
      "parents": [
        "7a5c106a0e8fd03a806d0da77eef10b4045c43a6"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri May 21 15:30:12 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:06:35 2010 +0900"
      },
      "message": "sh: guard cookie consistency across termination in the DMA driver\n\nIf all descriptors on a channel are terminated or the channel is released,\nupdate the completed cookie counter to match the last cookie. This prevents\ninconsistency warning on resumed DMA operation.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "7a5c106a0e8fd03a806d0da77eef10b4045c43a6",
      "tree": "610e6c8474d0d6d9947c3c90509b85319076841a",
      "parents": [
        "85b8e3ffc47b2a1913be3079e9f1c1f66a6240b2"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri May 21 15:28:51 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:06:34 2010 +0900"
      },
      "message": "sh: prevent the DMA driver from unloading, while in use\n\nThis prevents the driver from unloading, while it is in use. Unloading of the\ndriver, while its DMA channels are held, leads to a kernel Oops.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "85b8e3ffc47b2a1913be3079e9f1c1f66a6240b2",
      "tree": "4eb1948eb62060280f5d57030dfb13edae049103",
      "parents": [
        "bb0fe533514c1d480c6c16f8bad070270a73a96c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri May 21 15:22:40 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:06:34 2010 +0900"
      },
      "message": "sh: fix Oops in the serial SCI driver\n\nFix an Oops, triggering, if the DMA buffer allocation for the Rx channel in\nsh-sci.c fails.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "bb0fe533514c1d480c6c16f8bad070270a73a96c",
      "tree": "34de95399380a4043d16cf77466cabae343daf3b",
      "parents": [
        "a2b14dc9615c215a8cf4f2041f6c0c3fff5fc486"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed May 19 18:37:36 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:05:22 2010 +0900"
      },
      "message": "sh: allow platforms to specify SD-card supported voltages\n\nBoards can have different supplied voltages on different SD card slots. This\ninformation has to be passed down to the SD/MMC driver.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Ian Molton \u003cian@mnementh.co.uk\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a2b14dc9615c215a8cf4f2041f6c0c3fff5fc486",
      "tree": "b4958eebca382ca616622e3abf148853e4f84f5e",
      "parents": [
        "8f4b3036d1b9bdb6f5fa0b920e0163d64a990327"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed May 19 18:37:25 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:05:21 2010 +0900"
      },
      "message": "mmc: let MFD\u0027s provide supported Vdd card voltages to tmio_mmc\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Ian Molton \u003cian@mnementh.co.uk\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "8f4b3036d1b9bdb6f5fa0b920e0163d64a990327",
      "tree": "72a294ddb86c5701dbf4acee5065d114d406b957",
      "parents": [
        "f87c20a9db43f6f731270eeef616e1bcc266c2d4"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed May 19 18:36:13 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:05:21 2010 +0900"
      },
      "message": "sh: disable SD-card write-protection detection on kfr2r09\n\nkfr2r09 board has a micro-SD card slot, therefore card write-protection\ndetection cannot work there, disable it.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Ian Molton \u003cian@mnementh.co.uk\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f87c20a9db43f6f731270eeef616e1bcc266c2d4",
      "tree": "a8409e44117a95cc24c86af5cb3ca1e173edbd9b",
      "parents": [
        "ac8fb3e8627d5494f3d2221925a82be4c1778b0e"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed May 19 18:36:08 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:05:21 2010 +0900"
      },
      "message": "mfd: pass platform flags down to the tmio_mmc driver\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Ian Molton \u003cian@mnementh.co.uk\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "ac8fb3e8627d5494f3d2221925a82be4c1778b0e",
      "tree": "5e2e62928e4eeb67aac2363b613ec087546912d6",
      "parents": [
        "65a1b0347a329422e939e14daae6dad9a29e9cf2"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed May 19 18:36:02 2010 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 22 17:05:21 2010 +0900"
      },
      "message": "tmio: add a platform flag to disable card write-protection detection\n\nWrite-protection status is not always available, e.g., micro-SD cards do not\nhave a write-protection switch at all. This patch adds a flag to let platforms\nforce tmio_mmc to consider the card writable.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Ian Molton \u003cian@mnementh.co.uk\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "bb4f6b0cd7524ad7d56709723eaf8a7bf5a87b57",
      "tree": "df58d2c4c1f01f9bf5aa19e6a6d329b872b1f72a",
      "parents": [
        "f4b87dee923342505e1ddba8d34ce9de33e75050",
        "ec49fdbd354cb133340e25ff84d88284bb17e99a",
        "e92dd4fd1aa1cd081dac03973b33c972637d5b7a",
        "5c5e3b33b7cb959a401f823707bee006caadd76e",
        "8f9f8d9e8080a2ff46caa7decef47810d093d252",
        "6b65aaf3027c4e02b42aaefd900aa79136a30681"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "message": "Merge branches \u0027slab/align\u0027, \u0027slab/cleanups\u0027, \u0027slab/fixes\u0027, \u0027slab/memhotadd\u0027 and \u0027slub/fixes\u0027 into slab-for-linus\n"
    }
  ],
  "next": "6b65aaf3027c4e02b42aaefd900aa79136a30681"
}
