)]}'
{
  "commit": "83467efbdb7948146581a56cbd683a22a0684bbb",
  "tree": "8faaf4d713adcfd5875190ee23f0218212838f24",
  "parents": [
    "c8721bbbdd36382de51cd6b7a56322e0acca2414"
  ],
  "author": {
    "name": "Naoya Horiguchi",
    "email": "n-horiguchi@ah.jp.nec.com",
    "time": "Wed Sep 11 14:22:11 2013 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Sep 11 15:57:49 2013 -0700"
  },
  "message": "mm: migrate: check movability of hugepage in unmap_and_move_huge_page()\n\nCurrently hugepage migration works well only for pmd-based hugepages\n(mainly due to lack of testing,) so we had better not enable migration of\nother levels of hugepages until we are ready for it.\n\nSome users of hugepage migration (mbind, move_pages, and migrate_pages) do\npage table walk and check pud/pmd_huge() there, so they are safe.  But the\nother users (softoffline and memory hotremove) don\u0027t do this, so without\nthis patch they can try to migrate unexpected types of hugepages.\n\nTo prevent this, we introduce hugepage_migration_support() as an\narchitecture dependent check of whether hugepage are implemented on a pmd\nbasis or not.  And on some architecture multiple sizes of hugepages are\navailable, so hugepage_migration_support() also checks hugepage size.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: \"Aneesh Kumar K.V\" \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "66781bf34077cb540a67f845eeeb919c2decfc4e",
      "old_mode": 33188,
      "old_path": "arch/arm/mm/hugetlbpage.c",
      "new_id": "54ee6163c1814453298272fdb182341e3a5ffcdf",
      "new_mode": 33188,
      "new_path": "arch/arm/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "2fc8258bab2df614ab51a0bf1ffb4a36a236ba41",
      "old_mode": 33188,
      "old_path": "arch/arm64/mm/hugetlbpage.c",
      "new_id": "5e9aec358306f0c13bdd0bb70758dde88be9e961",
      "new_mode": 33188,
      "new_path": "arch/arm64/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "76069c18ee42c186edf37c680ee78249d553b4fc",
      "old_mode": 33188,
      "old_path": "arch/ia64/mm/hugetlbpage.c",
      "new_id": "68232db98baa74856752a86fc63cc12678e76787",
      "new_mode": 33188,
      "new_path": "arch/ia64/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "3c52fa6d0f8e24030294fecacc26498f5de9ffe5",
      "old_mode": 33188,
      "old_path": "arch/metag/mm/hugetlbpage.c",
      "new_id": "042431509b5664bca9bc6c930b296c77a064079a",
      "new_mode": 33188,
      "new_path": "arch/metag/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "a7fee0dfb7a9daaeb67616804f00cac7365d778f",
      "old_mode": 33188,
      "old_path": "arch/mips/mm/hugetlbpage.c",
      "new_id": "01fda4419ed09de2e5adbfcd0b318023f3cc7664",
      "new_mode": 33188,
      "new_path": "arch/mips/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "834ca8eb38f202e01c5151fdb56b13197ed6acc8",
      "old_mode": 33188,
      "old_path": "arch/powerpc/mm/hugetlbpage.c",
      "new_id": "d67db4bd672dd4223065c9b5470ee368a9456d1d",
      "new_mode": 33188,
      "new_path": "arch/powerpc/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "248445f92604efff09a5188352c3e6fba1248bb0",
      "old_mode": 33188,
      "old_path": "arch/s390/mm/hugetlbpage.c",
      "new_id": "d261c62e40a68f8c885d6019e6a0ef27d9497c4c",
      "new_mode": 33188,
      "new_path": "arch/s390/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "d7762349ea4869be1b40898a5ae7e6ff8e79c6aa",
      "old_mode": 33188,
      "old_path": "arch/sh/mm/hugetlbpage.c",
      "new_id": "0d676a41081e873582a68cf3c1d179ab51dd529d",
      "new_mode": 33188,
      "new_path": "arch/sh/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "d2b59441ebddfb84080da0fcadff6921e71342f6",
      "old_mode": 33188,
      "old_path": "arch/sparc/mm/hugetlbpage.c",
      "new_id": "96399646570a780e1b38a6324994c5f71470bb0b",
      "new_mode": 33188,
      "new_path": "arch/sparc/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "e514899e1100319dc83fe69530f1aad67b17ceea",
      "old_mode": 33188,
      "old_path": "arch/tile/mm/hugetlbpage.c",
      "new_id": "0cb3bbaa580c5dbc5ed00417ffd4b6e002c03813",
      "new_mode": 33188,
      "new_path": "arch/tile/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "7e73e8c690966dccbd8a7ef9f3d5397a367828f1",
      "old_mode": 33188,
      "old_path": "arch/x86/mm/hugetlbpage.c",
      "new_id": "9d980d88b7477a82f757e75d0efda0c867c76d43",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "2e02c4ed1035713e7491ce837a6a62ebcf02fb18",
      "old_mode": 33188,
      "old_path": "include/linux/hugetlb.h",
      "new_id": "0393270466c3fd8a59d24781cf54ab5ffd0c5a57",
      "new_mode": 33188,
      "new_path": "include/linux/hugetlb.h"
    },
    {
      "type": "modify",
      "old_id": "d3137375fa80e401c4ead5db5c60152cfe3f8f7a",
      "old_mode": 33188,
      "old_path": "mm/migrate.c",
      "new_id": "61f14a1923fd6044f7435498fd7cc9d0a0eebc9f",
      "new_mode": 33188,
      "new_path": "mm/migrate.c"
    }
  ]
}
