)]}'
{
  "commit": "0415b00d175e0d8945e6785aad21b5f157976ce0",
  "tree": "cf6f9286a47a22bf57766a3f17eaf4190bc9c242",
  "parents": [
    "6c5103890057b1bb781b26b7aae38d33e4c517d8"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Thu Mar 24 18:50:09 2011 +0100"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Thu Mar 24 18:50:09 2011 +0100"
  },
  "message": "percpu: Always align percpu output section to PAGE_SIZE\n\nPercpu allocator honors alignment request upto PAGE_SIZE and both the\npercpu addresses in the percpu address space and the translated kernel\naddresses should be aligned accordingly.  The calculation of the\nformer depends on the alignment of percpu output section in the kernel\nimage.\n\nThe linker script macros PERCPU_VADDR() and PERCPU() are used to\ndefine this output section and the latter takes @align parameter.\nSeveral architectures are using @align smaller than PAGE_SIZE breaking\npercpu memory alignment.\n\nThis patch removes @align parameter from PERCPU(), renames it to\nPERCPU_SECTION() and makes it always align to PAGE_SIZE.  While at it,\nadd PCPU_SETUP_BUG_ON() checks such that alignment problems are\nreliably detected and remove percpu alignment comment recently added\nin workqueue.c as the condition would trigger BUG way before reaching\nthere.\n\nFor um, this patch raises the alignment of percpu area.  As the area\nis in .init, there shouldn\u0027t be any noticeable difference.\n\nThis problem was discovered by David Howells while debugging boot\nfailure on mn10300.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: uclinux-dist-devel@blackfin.uclinux.org\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: user-mode-linux-devel@lists.sourceforge.net\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "433be2a24f3149261a03600ca19aa6a33992bbc8",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/vmlinux.lds.S",
      "new_id": "8d57948c0aefad9700ab45542f7610edd3e0b93e",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "b4348e62ef06e7903d07561701dd78c462ff1aaf",
      "old_mode": 33188,
      "old_path": "arch/arm/kernel/vmlinux.lds.S",
      "new_id": "e5287f21badc7e87c3c2e7a2d8953d5fb270ec86",
      "new_mode": 33188,
      "new_path": "arch/arm/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "854fa49f1c3ec964f7f105fd9c0019d133cca420",
      "old_mode": 33188,
      "old_path": "arch/blackfin/kernel/vmlinux.lds.S",
      "new_id": "8d85c8c6f857c5dd985bd4f2bbd07b4668b157fb",
      "new_mode": 33188,
      "new_path": "arch/blackfin/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "728bbd9e7d4c1105b802cbc53558e54c350db93a",
      "old_mode": 33188,
      "old_path": "arch/cris/kernel/vmlinux.lds.S",
      "new_id": "a6990cb0f098772c8739b8e7e738789414af7dc8",
      "new_mode": 33188,
      "new_path": "arch/cris/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "0daae8af5787bfd44fe467689b2fdbd2e7b73289",
      "old_mode": 33188,
      "old_path": "arch/frv/kernel/vmlinux.lds.S",
      "new_id": "7e958d829ec9810020c75eca7beef1cbfd44a3c2",
      "new_mode": 33188,
      "new_path": "arch/frv/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "c194d64cdbb9173912ba2962c4a185561a1e2ad4",
      "old_mode": 33188,
      "old_path": "arch/m32r/kernel/vmlinux.lds.S",
      "new_id": "2e7ccf7299a048731bb9ce31417a501a2b4c1271",
      "new_mode": 33188,
      "new_path": "arch/m32r/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "832afbb87588bedcf2b8265495fd44b6874ccabb",
      "old_mode": 33188,
      "old_path": "arch/mips/kernel/vmlinux.lds.S",
      "new_id": "8616709452b160c481a2109c5723034dcbafdd54",
      "new_mode": 33188,
      "new_path": "arch/mips/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "968bcd2cb0226c325cc37837518e25dafe4ed6b9",
      "old_mode": 33188,
      "old_path": "arch/mn10300/kernel/vmlinux.lds.S",
      "new_id": "6f702a6ab3955531ff31f65fb7ace7c37f01aa1f",
      "new_mode": 33188,
      "new_path": "arch/mn10300/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "8f1e4efd143e0f32e40ec48a6afb09247b75f0bc",
      "old_mode": 33188,
      "old_path": "arch/parisc/kernel/vmlinux.lds.S",
      "new_id": "85b86617fe0beb953d43cff4b76426ca50040a75",
      "new_mode": 33188,
      "new_path": "arch/parisc/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "b9150f07d2664a9a763ebeda3564b1c08f18fb17",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/vmlinux.lds.S",
      "new_id": "920276c0f6a1d47396451a5a3e9ac0d71d8b3c4c",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "1bc18cdb525b3d838d9b47f7b98fc3474101355f",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/vmlinux.lds.S",
      "new_id": "56fe6bc81fee45804a61c37fb189ccf73a0b72e8",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "af4d46187a79f18bb8ae350294ccb5923f5410fb",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/vmlinux.lds.S",
      "new_id": "731c10ce67b56dd482e95c2ecdb239de023ea831",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "92b557afe535a59e95d8ab185d5d51c254d4d081",
      "old_mode": 33188,
      "old_path": "arch/sparc/kernel/vmlinux.lds.S",
      "new_id": "c0220759003e13d302a52ebd1ec5e75dd641c531",
      "new_mode": 33188,
      "new_path": "arch/sparc/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "38f64fafdc10a9d8a3271a50d333b9787074ce19",
      "old_mode": 33188,
      "old_path": "arch/tile/kernel/vmlinux.lds.S",
      "new_id": "631f10de12feee423e5c3376f56813cc35fb6053",
      "new_mode": 33188,
      "new_path": "arch/tile/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "34bede8aad4a9ca9c23df9261be3a7c3d8ac20ec",
      "old_mode": 33188,
      "old_path": "arch/um/include/asm/common.lds.S",
      "new_id": "4938de5512d20add327d2865e9c60ce6fb21181a",
      "new_mode": 33188,
      "new_path": "arch/um/include/asm/common.lds.S"
    },
    {
      "type": "modify",
      "old_id": "624a2016198ef9317992069aaf676da19e5bd6b9",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/vmlinux.lds.S",
      "new_id": "3e9fb5d54f96d98dc9c0463b9f9751724f19ce57",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "a2820065927eaa642224af0d748491506fdd473d",
      "old_mode": 33188,
      "old_path": "arch/xtensa/kernel/vmlinux.lds.S",
      "new_id": "88ecea3facb4e8c81f507a667ed55feda6cfcb1a",
      "new_mode": 33188,
      "new_path": "arch/xtensa/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "32c45e5fe0abfa4516fb3b56103b68b134b1d70c",
      "old_mode": 33188,
      "old_path": "include/asm-generic/vmlinux.lds.h",
      "new_id": "f301cea5ca2d7cab0b52de3f96e6a927a4859173",
      "new_mode": 33188,
      "new_path": "include/asm-generic/vmlinux.lds.h"
    },
    {
      "type": "modify",
      "old_id": "04ef830690eceea974d90add3de55b57bc4048f6",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "d30a502e8c6d345289817b4f16c7d72bb04bc109",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    },
    {
      "type": "modify",
      "old_id": "3f930018aa60dc075bc49f7283c57b2b3b6f0035",
      "old_mode": 33188,
      "old_path": "mm/percpu.c",
      "new_id": "c5feb79f5995d375f37b17ebe599f3fc407b422a",
      "new_mode": 33188,
      "new_path": "mm/percpu.c"
    }
  ]
}
