)]}'
{
  "log": [
    {
      "commit": "2355188570790930718fb72444cddc2959039d9d",
      "tree": "eacc078c7acbc1fbd2087d2542fa6f7fb0334ad2",
      "parents": [
        "675a0813609f9097e323261b1cc4b9dc3f50d40b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:10 2008 +0100"
      },
      "message": "x86: avoid build warning\n\nfix this build warning:\n\n include/asm/topology_32.h: In function \u0027node_to_first_cpu\u0027:\n include/asm/topology_32.h:66: warning: unused variable \u0027mask\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a263898f628dd21e59210b547986c154788f628e",
      "tree": "b6c0a05c607c9b748336e629b3b6f4ddfea191ee",
      "parents": [
        "57a04513cb35086d54bcb2cb92e6627fc8fa0fae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 30 11:58:17 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 06 12:39:42 2008 -0800"
      },
      "message": "CPU hotplug: fix cpu_is_offline() on !CONFIG_HOTPLUG_CPU\n\nmake randconfig bootup testing found that the cpufreq code\ncrashes on bootup, if the powernow-k8 driver is enabled and\nif maxcpus\u003d1 passed on the boot line to a !CONFIG_HOTPLUG_CPU\nkernel.\n\nFirst lockdep found out that there\u0027s an inconsistent unlock\nsequence:\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ BUG: bad unlock balance detected! ]\n -------------------------------------\n swapper/1 is trying to release lock (\u0026per_cpu(cpu_policy_rwsem, cpu)) at:\n [\u003cffffffff806ffd8e\u003e] unlock_policy_rwsem_write+0x3c/0x42\n but there are no more locks to release!\n\nCall Trace:\n [\u003cffffffff806ffd8e\u003e] unlock_policy_rwsem_write+0x3c/0x42\n [\u003cffffffff80251c29\u003e] print_unlock_inbalance_bug+0x104/0x12c\n [\u003cffffffff80252f3a\u003e] mark_held_locks+0x56/0x94\n [\u003cffffffff806ffd8e\u003e] unlock_policy_rwsem_write+0x3c/0x42\n [\u003cffffffff807008b6\u003e] cpufreq_add_dev+0x2a8/0x5c4\n ...\n\nthen shortly afterwards the cpufreq code crashed on an assert:\n\n ------------[ cut here ]------------\n kernel BUG at drivers/cpufreq/cpufreq.c:1068!\n invalid opcode: 0000 [1] SMP\n [...]\n Call Trace:\n  [\u003cffffffff805145d6\u003e] sysdev_driver_unregister+0x5b/0x91\n  [\u003cffffffff806ff520\u003e] cpufreq_register_driver+0x15d/0x1a2\n  [\u003cffffffff80cc0596\u003e] powernowk8_init+0x86/0x94\n [...]\n ---[ end trace 1e9219be2b4431de ]---\n\nthe bug was caused by maxcpus\u003d1 bootup, which brought up the\nsecondary core as !cpu_online() but !cpu_is_offline() either,\nwhich on on !CONFIG_HOTPLUG_CPU is always 0 (include/linux/cpu.h):\n\n  /* CPUs don\u0027t go offline once they\u0027re online w/o CONFIG_HOTPLUG_CPU */\n  static inline int cpu_is_offline(int cpu) { return 0; }\n\nbut the cpufreq code uses cpu_online() and cpu_is_offline() in\na mixed way - the low-level drivers use cpu_online(), while\nthe cpufreq core uses cpu_is_offline(). This opened up the\npossibility to add the non-initialized sysdev device of the\nsecondary core:\n\n cpufreq-core: trying to register driver powernow-k8\n cpufreq-core: adding CPU 0\n powernow-k8: BIOS error - no PSB or ACPI _PSS objects\n cpufreq-core: initialization failed\n cpufreq-core: adding CPU 1\n cpufreq-core: initialization failed\n\nwhich then blew up. The fix is to make cpu_is_offline() always\nthe negation of cpu_online(). With that fix applied the kernel\nboots up fine without crashing:\n\n Calling initcall 0xffffffff80cc0510: powernowk8_init+0x0/0x94()\n powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ processors (1 cpu cores) (version 2.20.00)\n powernow-k8: BIOS error - no PSB or ACPI _PSS objects\n initcall 0xffffffff80cc0510: powernowk8_init+0x0/0x94() returned -19.\n initcall 0xffffffff80cc0510 ran for 19 msecs: powernowk8_init+0x0/0x94()\n Calling initcall 0xffffffff80cc328f: init_lapic_nmi_sysfs+0x0/0x39()\n\nWe could fix this by making CPU enumeration aware of max_cpus, but that\nwould be more fragile IMO, and the cpu_online(cpu) !\u003d cpu_is_offline(cpu)\npossibility was quite confusing and a continuous source of bugs too.\n\nMost distributions have kernels with CPU hotplug enabled, so this bug\nremained hidden for a long time.\n\nBug forensics:\n\nThe broken cpu_is_offline() API variant was introduced via:\n\n commit a59d2e4e6977e7b94e003c96a41f07e96cddc340\n Author: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n Date:   Mon Mar 8 06:06:03 2004 -0800\n\n     [PATCH] minor cleanups for hotplug CPUs\n\n( this predates linux-2.6.git, this commit is available from Thomas\u0027s\n  historic git tree. )\n\nThen 1.5 years later the cpufreq code made use of it:\n\n commit c32b6b8e524d2c337767d312814484d9289550cf\n Author: Ashok Raj \u003cashok.raj@intel.com\u003e\n Date:   Sun Oct 30 14:59:54 2005 -0800\n\n     [PATCH] create and destroy cpufreq sysfs entries based on cpu notifiers\n\n +       if (cpu_is_offline(cpu))\n +               return 0;\n\nwhich is a correct use of the subtly broken new API. v2.6.15 then\nshipped with this bug included.\n\nthen it took two more years for random-kernel qa to hit it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53b8a315b76a3f3c70a5644976c0095460eb13d8",
      "tree": "f407a607adb1f552942aef9150ec709ed3f01798",
      "parents": [
        "74c7aa8b8581e0ba8d6d17c623b9279aaabbb0cf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Feb 20 13:57:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] Convert highest_possible_processor_id to nr_cpu_ids\n\nWe frequently need the maximum number of possible processors in order to\nallocate arrays for all processors.  So far this was done using\nhighest_possible_processor_id().  However, we do need the number of\nprocessors not the highest id.  Moreover the number was so far dynamically\ncalculated on each invokation.  The number of possible processors does not\nchange when the system is running.  We can therefore calculate that number\nonce.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01a3ee2b203e511e20f98b85a9172fd32c53e87c",
      "tree": "0dd90d81dc86f231828af23bdb97522405b06cab",
      "parents": [
        "39484e53bb00f55b6303a908070db133608ef2a5"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@linux.intel.com",
        "time": "Wed Oct 11 01:21:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:22 2006 -0700"
      },
      "message": "[PATCH] bitmap: parse input from kernel and user buffers\n\nlib/bitmap.c:bitmap_parse() is a library function that received as input a\nuser buffer.  This seemed to have originated from the way the write_proc\nfunction of the /proc filesystem operates.\n\nThis has been reworked to not use kmalloc and eliminates a lot of\nget_user() overhead by performing one access_ok before using __get_user().\n\nWe need to test if we are in kernel or user space (is_user) and access the\nbuffer differently.  We cannot use __get_user() to access kernel addresses\nin all cases, for example in architectures with separate address space for\nkernel and user.\n\nThis function will be useful for other uses as well; for example, taking\ninput for /sysfs instead of /proc, so it was changed to accept kernel\nbuffers.  We have this use for the Linux UWB project, as part as the\nupcoming bandwidth allocator code.\n\nOnly a few routines used this function and they were changed too.\n\nSigned-off-by: Reinette Chatre \u003creinette.chatre@linux.intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9de9adb615bddbdb786273c41ec3c03837e32fa5",
      "tree": "d9c37e52c032f9bbb2da5f55868a79b299e58d25",
      "parents": [
        "eab98702afa567927c9b052499b43acad2f25a1c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jun 25 05:48:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:12 2006 -0700"
      },
      "message": "[PATCH] for_each_cpu_mask() warning fix\n\nOn UP, this:\n\n       cpumask_t mask \u003d node_to_cpumask(numa_node_id());\n\n       for_each_cpu_mask(cpu, mask)\n\ndoes this:\n\nmm/readahead.c: In function `node_readahead_aging\u0027:\nmm/readahead.c:850: warning: unused variable `mask\u0027\n\nwhich is unpleasantly fixed by this:\n\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb1bb34d45400f12e0a33f8c487b3795674908a7",
      "tree": "11c593c83eff5a83999f4feee0d8937d1f575712",
      "parents": [
        "1e48275adc8c94c3281e646c8beb829f8e6f5bfc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jun 25 05:46:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:00:54 2006 -0700"
      },
      "message": "[PATCH] remove for_each_cpu()\n\nConvert a few stragglers over to for_each_possible_cpu(), remove\nfor_each_cpu().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "631d6747e1d877a4baa924cb373b8b9511a53e5e",
      "tree": "5bb88d5c9716b9d9f398a6a1e8c8be4501671643",
      "parents": [
        "68c3431ae22912be580c68d3955ef46515582943"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:04 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: defines for_each_possible_cpu\n\nfor_each_cpu() is a for-loop over cpu_possible_map.  for_each_online_cpu is\nfor-loop cpu over cpu_online_map.  .....for_each_cpu() is not sufficiently\nexplicit and can lead to mistakes.\n\nThis patch adds for_each_possible_cpu() in preparation for the removal of\nfor_each_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96a9b4d31eba4722ba7aad2cc15118a7799f499f",
      "tree": "f96739e328e3e50b43122e551a36415f6e26a1e8",
      "parents": [
        "8630282070b4a52b12cfa514ba8558e2f3d56360"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:08:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:23:00 2006 -0800"
      },
      "message": "[PATCH] cpumask: uninline any_online_cpu()\n\n           text    data     bss     dec     hex filename\nbefore: 3605597 1363528  363328 5332453  515de5 vmlinux\nafter:  3605295 1363612  363200 5332107  515c8b vmlinux\n\n218 bytes saved.\n\nAlso, optimise any_online_cpu() out of existence on CONFIG_SMP\u003dn.\n\nThis function seems inefficient.  Can\u0027t we simply AND the two masks, then use\nfind_first_bit()?\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8630282070b4a52b12cfa514ba8558e2f3d56360",
      "tree": "cf648185ccc0a0ba4e7cf752c1c09a0272a6d192",
      "parents": [
        "3d18bd74a22d0bed3bc81fc64c4ba6344a10f155"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:08:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:23:00 2006 -0800"
      },
      "message": "[PATCH] cpumask: uninline highest_possible_processor_id()\n\nShrinks the only caller (net/bridge/netfilter/ebtables.c) by 174 bytes.\n\nAlso, optimise highest_possible_processor_id() out of existence on\nCONFIG_SMP\u003dn.\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d18bd74a22d0bed3bc81fc64c4ba6344a10f155",
      "tree": "414b44796651db833481e17030f0b18a1be3527b",
      "parents": [
        "ccb46000f4bb459777686611157ac0eac928704e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:08:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:59 2006 -0800"
      },
      "message": "[PATCH] cpumask: uninline next_cpu()\n\n           text    data     bss     dec     hex filename\nbefore: 3488027 1322496  360128 5170651  4ee5db vmlinux\nafter:  3485112 1322480  359968 5167560  4ed9c8 vmlinux\n\n2931 bytes saved\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ccb46000f4bb459777686611157ac0eac928704e",
      "tree": "461e956d9e27a7afa7de64950f3186070ffa61f5",
      "parents": [
        "64b91379439ff0fb007bde90eb496299c14a9b2a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:08:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:59 2006 -0800"
      },
      "message": "[PATCH] cpumask: uninline first_cpu()\n\n           text    data     bss     dec     hex filename\nbefore: 3490577 1322408  360000 5172985  4eeef9 vmlinux\nafter:  3488027 1322496  360128 5170651  4ee5db vmlinux\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a8ef1cb774e5438d292365626f9b96616283706",
      "tree": "82d085204e8728d28a5267fb39aa2e26ea8824c9",
      "parents": [
        "705672935f8a9e661264e34cd8c409e8cddcc7db"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Feb 10 01:51:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 10 08:13:12 2006 -0800"
      },
      "message": "[PATCH] x86: don\u0027t initialise cpu_possible_map to all ones\n\nInitialising cpu_possible_map to all-ones with CONFIG_HOTPLUG_CPU means that\n\na) All for_each_cpu() loops will iterate across all NR_CPUS CPUs, rather\n   than over possible ones.  That can be quite expensive.\n\nb) Soon we\u0027ll be allocating per-cpu areas only for possible CPUs.  So with\n   CPU_MASK_ALL, we\u0027ll be wasting memory.\n\nI also switched voyager over to not use CPU_MASK_ALL in the non-CPU-hotplug\ncase.  Should be OK..\n\nI note that parisc is also using CPU_MASK_ALL.  Suggest that it stop doing\nthat.\n\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nCc: Zwane Mwaikambo \u003czwane@linuxpower.ca\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b8623545b42c03eb92e51b28c84acf4b8ba00a3",
      "tree": "071045ad9c60d2697292c523c77322a70a248fb9",
      "parents": [
        "92118c739df879497b8cc5a2eb3a9dc255f01b20"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 15 01:07:03 2005 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 07 20:56:35 2006 -0500"
      },
      "message": "[PATCH] remove bogus asm/bug.h includes.\n\nA bunch of asm/bug.h includes are both not needed (since it will get\npulled anyway) and bogus (since they are done too early).  Removed.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb5eeeee44edb248b4837416966f19731f497f79",
      "tree": "f947a4dcf103f55d526bb5c71f69b657d8f22e61",
      "parents": [
        "28a42b9ea7e42e1efb02cc2dcacba0b6af234e1b"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Oct 30 15:02:33 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:21 2005 -0800"
      },
      "message": "[PATCH] cpusets: bitmap and mask remap operators\n\nIn the forthcoming task migration support, a key calculation will be\nmapping cpu and node numbers from the old set to the new set while\npreserving cpuset-relative offset.\n\nFor example, if a task and its pages on nodes 8-11 are being migrated to\nnodes 24-27, then pages on node 9 (the 2nd node in the old set) should be\nmoved to node 25 (the 2nd node in the new set.)\n\nAs with other bitmap operations, the proper way to code this is to provide\nthe underlying calculation in lib/bitmap.c, and then to provide the usual\ncpumask and nodemask wrappers.\n\nThis patch provides that.  These operations are termed \u0027remap\u0027 operations.\nBoth remapping a single bit and a set of bits is supported.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "688ce17b8599abc548b406c00e4d18ae0dec954f",
      "tree": "c64c78c72bf9582c2dcc5a3455d6fe561c6e7085",
      "parents": [
        "e6850cce8f0fcb0e16b981f13cb9c69618bbdaf1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 16 00:17:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 16 00:17:33 2005 -0700"
      },
      "message": "[PATCH]: highest_possible_processor_id() has to be a macro\n\n\t... otherwise, things like alpha and sparc64 break and break\nbadly.  They define cpu_possible_map to something else in smp.h\n*AFTER* having included cpumask.h.\n\n\tIf that puppy is a macro, expansion will happen at the actual\ncaller, when we\u0027d already seen #define cpu_possible_map ... and we will\nget the right thing used.\n\n\tAs an inline helper it will be tokenized before we get to that\ndefine and that\u0027s it; no matter what we define later, it won\u0027t affect\nanything.  We get modules with dependency on cpu_possible_map instead\nof the right symbol (phys_cpu_present_map in case of sparc64), or outright\nlink errors if they are built-in.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "c8923c6b852d3a97c1faad0566e38fca330375a7",
      "tree": "eb79e97c5468bba641c7a34b83514876f4902cf2",
      "parents": [
        "c931488cc4619eecfe68a2f046b5898fddc2f904"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 14:41:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 14:41:23 2005 -0700"
      },
      "message": "[NETFILTER]: Fix OOPSes on machines with discontiguous cpu numbering.\n\nOriginal patch by Harald Welte, with feedback from Herbert Xu\nand testing by Sébastien Bernard.\n\nEBTABLES, ARP tables, and IP/IP6 tables all assume that cpus\nare numbered linearly.  That is not necessarily true.\n\nThis patch fixes that up by calculating the largest possible\ncpu number, and allocating enough per-cpu structure space given\nthat.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
