)]}'
{
  "log": [
    {
      "commit": "057647fc47b3a5fbcfa997041db3f483d506603c",
      "tree": "13887f534f51b164c8f6f5b21d15bc4cccac28ea",
      "parents": [
        "c333526f489044be2b93085720eb898f0037b346"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Oct 28 10:38:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:55 2006 -0700"
      },
      "message": "[PATCH] workqueue: update kerneldoc\n\nThis patch (as812) changes the kerneldoc comments explaining the return\nvalues from queue_work(), queue_delayed_work(), and\nqueue_delayed_work_on().  The updated comments explain more accurately the\nmeaning of the return code and avoid suggesting that a 0 value means the\nroutine was unsuccessful.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "469340236a7c9673df3e6a2425f559517f01464e",
      "tree": "83453754d7e3ac5d9d16fbd19374c66899938afe",
      "parents": [
        "fc513a333b45f8913d40c8241a0cb61be79e1c60"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Oct 11 01:21:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:19 2006 -0700"
      },
      "message": "[PATCH] mm: kevent threads: use MPOL_DEFAULT\n\nSwitch the memory policy of the kevent threads to MPOL_DEFAULT while\nleaving the kzalloc of the workqueue structure on interleave.  This means\nthat all code executed in the context of the kevent thread is allocating\nnode local.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Alok Kataria \u003calok.kataria@calsoftinc.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003cpj@sgi.com\u003e\nCc: \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9f5d785e93f7c68c37582ddea848de23689fdd76",
      "tree": "65c6068fd4e340747763de1caa20560b0e56aef7",
      "parents": [
        "c98acc5865c1217195217444cc6c6d317fddda50"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Tue Oct 03 23:07:31 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:07:31 2006 +0200"
      },
      "message": "remove duplicate \"until\" from kernel/workqueue.c\n\ns/until until/until/\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "9b41ea7289a589993d3daabc61f999b4147872c4",
      "tree": "35a79670ca4493832f1da026a047e3fc9eec0910",
      "parents": [
        "2b25742556b1a351ce4821f6feddcba23bdd930b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Aug 13 23:24:26 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:29 2006 -0700"
      },
      "message": "[PATCH] workqueue: remove lock_cpu_hotplug()\n\nUse a private lock instead.  It protects all per-cpu data structures in\nworkqueue.c, including the workqueues list.\n\nFix a bug in schedule_on_each_cpu(): it was forgetting to lock down the\nper-cpu resources.\n\nUnfixed long-standing bug: if someone unplugs the CPU identified by\n`singlethread_cpu\u0027 the kernel will get very sick.\n\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0fcb78c22f06340cdba884d7381adb3a0148bbb6",
      "tree": "565c221a078fc7271d09fd4ad9453c4a2d76f485",
      "parents": [
        "d75763d24063cafe28ace8863560da9c968ee099"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Sun Jul 30 03:03:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:40 2006 -0700"
      },
      "message": "[PATCH] Add DocBook documentation for workqueue functions\n\nkernel/workqueue.c was omitted from generating kernel documentation.  This\nadds a new section \"Workqueues and Kevents\" and adds documentation for some\nof the functions.\n\nSome functions in this file already had DocBook-style comments, now they\nfinally become visible.\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ca78f6baca863afe2e6a244a0fe94b3a70211d46",
      "tree": "f5a3a169b6cfafa36f9c35cc86e782596c820915",
      "parents": [
        "7ad7153b051d9628ecd6a336b543ea6ef099bd2c",
        "ae90dd5dbee461652b90d9f7d292ba47dc3dc4b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 14:00:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 14:00:26 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:\n  Move workqueue exports to where the functions are defined.\n  [CPUFREQ] Misc cleanups in ondemand.\n  [CPUFREQ] Make ondemand sampling per CPU and remove the mutex usage in sampling path.\n  [CPUFREQ] Add queue_delayed_work_on() interface for workqueues.\n  [CPUFREQ] Remove slowdown from ondemand sampling path.\n"
    },
    {
      "commit": "36c8b586896f60cb91a4fd526233190b34316baf",
      "tree": "003246e1e676de33703daa979b3e3109ca202a89",
      "parents": [
        "48f24c4da1ee7f3f22289cb85e8b8a73e4df4db5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:11 2006 -0700"
      },
      "message": "[PATCH] sched: cleanup, remove task_t, convert to struct task_struct\n\ncleanup: remove task_t and convert all the uses to struct task_struct. I\nintroduced it for the scheduler anno and it was a mistake.\n\nConversion was mostly scripted, the result was reviewed and all\nsecondary whitespace and style impact (if any) was fixed up by hand.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae90dd5dbee461652b90d9f7d292ba47dc3dc4b8",
      "tree": "694e12850d9686b1989d63ca1f92b8214359b47e",
      "parents": [
        "ffac80e925e54d84f6ea580231aa46d0ef051756"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jun 30 01:40:45 2006 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jun 30 01:40:45 2006 -0400"
      },
      "message": "Move workqueue exports to where the functions are defined.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "7a6bc1cdd506cf81f856f0fef4e56a2ba0c5a26d",
      "tree": "610e6ad60d447838c3e26d00458eea04523daa5e",
      "parents": [
        "ccb2fe209dac9ff67f6351e783e610073afaaeaf"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Jun 28 13:50:33 2006 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jun 30 01:33:31 2006 -0400"
      },
      "message": "[CPUFREQ] Add queue_delayed_work_on() interface for workqueues.\n\nAdd queue_delayed_work_on() interface for workqueues.\n\nSigned-off-by: Alexey Starikovskiy \u003calexey.y.starikovskiy@intel.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe",
      "tree": "53e6c1e4870db49b4999b4053862d3f63375773f",
      "parents": [
        "6ac12dfe9c2027cd3c5ed603f11d1bb4f04906fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert init patch submitted for 2.6.17\n\nIn 2.6.17, there was a problem with cpu_notifiers and XFS.  I provided a\nband-aid solution to solve that problem.  In the process, i undid all the\nchanges you both were making to ensure that these notifiers were available\nonly at init time (unless CONFIG_HOTPLUG_CPU is defined).\n\nWe deferred the real fix to 2.6.18.  Here is a set of patches that fixes the\nXFS problem cleanly and makes the cpu notifiers available only at init time\n(unless CONFIG_HOTPLUG_CPU is defined).\n\nIf CONFIG_HOTPLUG_CPU is defined then cpu notifiers are available at run\ntime.\n\nThis patch reverts the notifier_call changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc75cdfa5b43ac4d3232b490800cd35063adafd3",
      "tree": "0529ffd9633667457d5340a09b3cb352d09436d2",
      "parents": [
        "04a3446c90137a473837288b04b517b19dc67a0d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun Jun 25 05:49:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:22 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: fix CPU_UP_CANCEL handling\n\nIf a cpu hotplug callback fails on CPU_UP_PREPARE, all callbacks will be\ncalled with CPU_UP_CANCELED.  A few of these callbacks assume that on\nCPU_UP_PREPARE a pointer to task has been stored in a percpu array.  This\nassumption is not true if CPU_UP_PREPARE fails and the following calls to\nkthread_bind() in CPU_UP_CANCELED will cause an addressing exception\nbecause of passing a NULL pointer.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b61367732fc273977cc3fb85c272ce1a7bb1f533",
      "tree": "92aa6fc7f58b65f322f32612741c64347bc57152",
      "parents": [
        "232acbcf5304c29f5bb03b0dddeaefd0f98ef45e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jun 25 05:47:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:07 2006 -0700"
      },
      "message": "[PATCH] schedule_on_each_cpu(): reduce kmalloc() size\n\nschedule_on_each_cpu() presently does a large kmalloc - 96 kbytes on 1024 CPU\n64-bit.\n\nRework it so that we do one 8192-byte allocation and then a pile of tiny ones,\nvia alloc_percpu().  This has a much higher chance of success (100% in the\ncurrent VM).\n\nThis also has the effect of reducing the memory requirements from NR_CPUS*n to\nnum_possible_cpus()*n.\n\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "626ab0e69d376fa07599af669af8ba92d58e87c1",
      "tree": "a995e0231e61fab63568bc7bade81dc20c1dae09",
      "parents": [
        "54e73770357142e297c916c7865f5fca7499f69c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jun 23 02:05:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] list: use list_replace_init() instead of list_splice_init()\n\nlist_splice_init(list, head) does unneeded job if it is known that\nlist_empty(head) \u003d\u003d 1.  We can use list_replace_init() instead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83d722f7e198b034699b1500d98729beff930efd",
      "tree": "7d790a2fd62165373ec7bacde704837288e0bec3",
      "parents": [
        "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:30:03 2006 -0700"
      },
      "message": "[PATCH] Remove __devinit and __cpuinit from notifier_call definitions\n\nFew of the notifier_chain_register() callers use __init in the definition\nof notifier_call.  It is incorrect as the function definition should be\navailable after the initializations (they do not unregister them during\ninitializations).\n\nThis patch fixes all such usages to _not_ have the notifier_call __init\nsection.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fa44ecad2b86475e038aed81b0bf333fa484f8b",
      "tree": "62e9e9aac0aaf64e6f8e69809d8ab513e22346a1",
      "parents": [
        "ba3af0aff042caa1f41b5f7164cab37c717b8811"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Thu Feb 23 12:43:43 2006 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Mon Feb 27 23:34:40 2006 -0600"
      },
      "message": "[SCSI] add execute_in_process_context() API\n\nWe have several points in the SCSI stack (primarily for our device\nfunctions) where we need to guarantee process context, but (given the\nplace where the last reference was released) we cannot guarantee this.\n\nThis API gets around the issue by executing the function directly if\nthe caller has process context, but scheduling a workqueue to execute\nin process context if the caller doesn\u0027t have it.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f756d5e256059018d753f0ba79980ebeb87a1bc0",
      "tree": "e96ae0117aaf6dea19dad88079c3229f679c1948",
      "parents": [
        "945f390f02ce44a13aefc6d9449c99f33c9286a5"
      ],
      "author": {
        "name": "Nathan Lynch",
        "email": "ntl@pobox.com",
        "time": "Sun Jan 08 01:05:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:08 2006 -0800"
      },
      "message": "[PATCH] fix workqueue oops during cpu offline\n\nUse first_cpu(cpu_possible_map) for the single-thread workqueue case.  We\nused to hardcode 0, but that broke on systems where !cpu_possible(0) when\nworkqueue_struct-\u003ecpu_workqueue_struct was changed from a static array to\nalloc_percpu.\n\nCommit id bce61dd49d6ba7799be2de17c772e4c701558f14 (\"Fix hardcoded cpu\u003d0 in\nworkqueue for per_cpu_ptr() calls\") fixed that for Ben\u0027s funky sparc64\nsystem, but it regressed my Power5.  Offlining cpu 0 oopses upon the next\ncall to queue_work for a single-thread workqueue, because now we try to\nmanipulate per_cpu_ptr(wq-\u003ecpu_wq, 1), which is uninitialized.\n\nSo we need to establish an unchanging \"slot\" for single-thread workqueues\nwhich will have a valid percpu allocation.  Since alloc_percpu keys off of\ncpu_possible_map, which must not change after initialization, make this\nslot \u003d\u003d first_cpu(cpu_possible_map).\n\nSigned-off-by: Nathan Lynch \u003cntl@pobox.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676121fcb66c861804e38d94214fd5670a1ef595",
      "tree": "7b0f9d34efd5e1cb9b6b595aedcd9419942b5055",
      "parents": [
        "9fa37fd1627ec804e57ae0388555719b03b39f20"
      ],
      "author": {
        "name": "Ben Collins",
        "email": "bcollins@debian.org",
        "time": "Sun Jan 08 01:03:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:54 2006 -0800"
      },
      "message": "[PATCH] Unchecked alloc_percpu() return in __create_workqueue()\n\n__create_workqueue() not checking return of alloc_percpu()\n\nNULL dereference was possible.\n\nSigned-off-by: Ben Collins \u003cbcollins@ubuntu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15316ba81aee6775d6079fb46c66c801989e7d10",
      "tree": "c6190bdcc6e15fd8b5657a5932313e296b475577",
      "parents": [
        "48db57f8ff10eb09ab887ccb6150b0da0c7be24e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun Jan 08 01:00:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] add schedule_on_each_cpu()\n\nswap migration\u0027s isolate_lru_page() currently uses an IPI to notify other\nprocessors that the lru caches need to be drained if the page cannot be\nfound on the LRU.  The IPI interrupt may interrupt a processor that is just\nprocessing lru requests and cause a race condition.\n\nThis patch introduces a new function run_on_each_cpu() that uses the\nkeventd() to run the LRU draining on each processor.  Processors disable\npreemption when dealing the LRU caches (these are per processor) and thus\nexecuting LRU draining from another process is safe.\n\nThanks to Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e for finding this race\ncondition.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bce61dd49d6ba7799be2de17c772e4c701558f14",
      "tree": "a8fd75afc85ffef3c9af0bafa1989d7a14e1a187",
      "parents": [
        "ee500f274914653a7d3dfca7d0140a3d21658e32"
      ],
      "author": {
        "name": "Ben Collins",
        "email": "bcollins@debian.org",
        "time": "Mon Nov 28 13:43:56 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:23 2005 -0800"
      },
      "message": "[PATCH] Fix hardcoded cpu\u003d0 in workqueue for per_cpu_ptr() calls\n\nTracked this down on an Ultra Enterprise 3000.  It\u0027s a 6-way machine.  Odd\nthing about this machine (and it\u0027s good for finding bugs like this) is that\nthe CPU id\u0027s are not 0 based.  For instance, on my machine the CPU\u0027s are\n6/7/10/11/14/15.\n\nThis caused some NULL pointer dereference in kernel/workqueue.c because for\nsingle_threaded workqueue\u0027s, it hardcoded the cpu to 0.\n\nI changed the 0\u0027s to any_online_cpu(cpu_online_mask), which cpumask.h\nclaims is \"First cpu in mask\".  So this fits the same usage.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4c4af7c8dc1eccdfb8c57e1684f08179b4407e6",
      "tree": "210773f292da3ba85818402f1945ee7b14ba8c71",
      "parents": [
        "cc658cfe3c66a6124b5a8db90cdcdd440201b1dc"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Nov 07 00:58:38 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:29 2005 -0800"
      },
      "message": "[PATCH] cpu hoptlug: avoid usage of smp_processor_id() in preemptible code\n\nReplace smp_processor_id() with any_online_cpu(cpu_online_map) in order to\navoid lots of \"BUG: using smp_processor_id() in preemptible [00000001]\ncode:...\" messages in case taking a cpu online fails.\n\nAll the traces start at the last notifier_call_chain(...) in kernel/cpu.c.\nSince we hold the cpu_control semaphore it shouldn\u0027t be any problem to access\ncpu_online_map.\n\nThe reason why cpu_up failed is simply that the cpu that was supposed to be\ntaken online wasn\u0027t even there.  That is because on s390 we never know when a\nnew cpu comes and therefore cpu_possible_map consists of only ones and doesn\u0027t\nreflect reality.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89ada67917f516212452443a56b9fd3b65b74dc7",
      "tree": "00986fd653bf1973a70ae894f503b3b2352943b5",
      "parents": [
        "d61780c0d384939ef31c46b47442854d5def4623"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun Oct 30 15:01:59 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:18 2005 -0800"
      },
      "message": "[PATCH] Use alloc_percpu to allocate workqueues locally\n\nThis patch makes the workqueus use alloc_percpu instead of an array.  The\nworkqueues are placed on nodes local to each processor.\n\nThe workqueue structure can grow to a significant size on a system with\nlots of processors if this patch is not applied.  64 bit architectures with\nall debugging features enabled and configured for 512 processors will not\nbe able to boot without this patch.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd3927105b6f65afb7dac17682172cdfb86d3f00",
      "tree": "5cf282aff500cad23b9d7e13dc19b2b2d31e1ce6",
      "parents": [
        "640e803376b9c4072f69fec42e304c974a631298"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Tue Sep 06 15:18:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:45 2005 -0700"
      },
      "message": "[PATCH] introduce and use kzalloc\n\nThis patch introduces a kzalloc wrapper and converts kernel/ to use it.  It\nsaves a little program text.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "230649da7cb73914b8b2a1ffc802a2951e970454",
      "tree": "ea18d1246118221640d1aebc89d6f1ba11b4869c",
      "parents": [
        "b80068543794864f533163c586be2a1a9880a65d"
      ],
      "author": {
        "name": "Mika Kukkonen",
        "email": "mikukkon@gmail.com",
        "time": "Tue Sep 06 15:17:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:28 2005 -0700"
      },
      "message": "[PATCH] create_workqueue_thread() signedness fix\n\nWith \"-W -Wno-unused -Wno-sign-compare\" I get the following compile warning:\n\n  CC      kernel/workqueue.o\nkernel/workqueue.c: In function `workqueue_cpu_callback\u0027:\nkernel/workqueue.c:504: warning: ordered comparison of pointer with integer zero\n\nOn error create_workqueue_thread() returns NULL, not negative pointer, so\nfollowing trivial patch suggests itself.\n\nSigned-off-by: Mika Kukkonen \u003cmikukkon@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "606867443764edac5a2c542f2fa0a12ef7a7c7fd",
      "tree": "61110afaef5e8be41be940815a8bd6065e32c5da",
      "parents": [
        "3462b925414a146d4c2252de97d20f89218d1ffb"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Wed Aug 10 11:29:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 10 11:55:19 2005 -0700"
      },
      "message": "[PATCH] remove name length check in a workqueue\n\nWe have a chek in there to make sure that the name won\u0027t overflow\ntask_struct.comm[], but it\u0027s triggering for scsi with lots of HBAs, only\nscsi is using single-threaded workqueues which don\u0027t append the \"/%d\"\nanyway.\n\nAll too hard.  Just kill the BUG_ON.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n\n[ kthread_create() uses vsnprintf() and limits the thing, so no\n  actual overflow can actually happen regardless ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81ddef77bb774e771db8588b937665cd38f40cee",
      "tree": "5e89b0f6bb47a43b3b00d30a5e1e22db727b5047",
      "parents": [
        "9ffb7146f0aa9c0070cda3d8701b0a89e34913d1"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Sat Apr 16 15:23:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:23:59 2005 -0700"
      },
      "message": "[PATCH] re-export cancel_rearming_delayed_workqueue\n\nThis was unexported by Arjan because we have no current users.\n\nHowever, during a conversion from tasklets to workqueues of the parisc led\nfunctions, we ran across a case where this was needed.  In particular, the\nopen coded equivalent of cancel_rearming_delayed_workqueue was implemented\nincorrectly, which is, I think, all the evidence necessary that this is a\nuseful API.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
