)]}'
{
  "commit": "8d408b4be37bc49c9086531f2ebe411cf5731746",
  "tree": "559a532a04b24dd164ec2c72ab545b30a5a604ef",
  "parents": [
    "d9b55eeb1d55ef2dc5a4fdbff9604c2c68cb5649"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Feb 24 11:57:21 2009 +0900"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Feb 24 11:57:21 2009 +0900"
  },
  "message": "percpu: give more latitude to arch specific first chunk initialization\n\nImpact: more latitude for first percpu chunk allocation\n\nThe first percpu chunk serves the kernel static percpu area and may or\nmay not contain extra room for further dynamic allocation.\nInitialization of the first chunk needs to be done before normal\nmemory allocation service is up, so it has its own init path -\npcpu_setup_static().\n\nIt seems archs need more latitude while initializing the first chunk\nfor example to take advantage of large page mapping.  This patch makes\nthe following changes to allow this.\n\n* Define PERCPU_DYNAMIC_RESERVE to give arch hint about how much space\n  to reserve in the first chunk for further dynamic allocation.\n\n* Rename pcpu_setup_static() to pcpu_setup_first_chunk().\n\n* Make pcpu_setup_first_chunk() much more flexible by fetching page\n  pointer by callback and adding optional @unit_size, @free_size and\n  @base_addr arguments which allow archs to selectively part of chunk\n  initialization to their likings.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "671e6528a82de82117d1c11c9086ab42c0cfc757",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/setup_percpu.c",
      "new_id": "d928e888720186b095428bf0d7debedd18360e7d",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/setup_percpu.c"
    },
    {
      "type": "modify",
      "old_id": "18080995ff3efda8a5dac47859029fff51363e23",
      "old_mode": 33188,
      "old_path": "include/linux/percpu.h",
      "new_id": "910beb0abea23769064a675c9013037b42c6a4fb",
      "new_mode": 33188,
      "new_path": "include/linux/percpu.h"
    },
    {
      "type": "modify",
      "old_id": "d9e6e5d1dbd4674a2701a37ba6bde1bec41f4c0f",
      "old_mode": 33188,
      "old_path": "mm/percpu.c",
      "new_id": "9ac01980cce084f51cde78edd5e0fec534f19023",
      "new_mode": 33188,
      "new_path": "mm/percpu.c"
    }
  ]
}
