)]}'
{
  "log": [
    {
      "commit": "82f67cd9fca8c8762c15ba7ed0d5747588c1e221",
      "tree": "1ff7e5cc496580b85bb42fb1d7b19dcbef7b7776",
      "parents": [
        "8bfd9a7a229b5f3d3eda5d7d45c2eebec5b4ba16"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] Add debugging feature /proc/timer_stat\n\nAdd /proc/timer_stats support: debugging feature to profile timer expiration.\nBoth the starting site, process/PID and the expiration function is captured.\nThis allows the quick identification of timer event sources in a system.\n\nSample output:\n\n# echo 1 \u003e /proc/timer_stats\n# cat /proc/timer_stats\nTimer Stats Version: v0.1\nSample period: 4.010 s\n  24,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)\n  11,     0 swapper          sk_reset_timer (tcp_delack_timer)\n   6,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)\n   2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n  17,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)\n   2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n   4,  2050 pcscd            do_nanosleep (hrtimer_wakeup)\n   5,  4179 sshd             sk_reset_timer (tcp_write_timer)\n   4,  2248 yum-updatesd     schedule_timeout (process_timeout)\n  18,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)\n   3,     0 swapper          sk_reset_timer (tcp_delack_timer)\n   1,     1 swapper          neigh_table_init_no_netlink (neigh_periodic_timer)\n   2,     1 swapper          e1000_up (e1000_watchdog)\n   1,     1 init             schedule_timeout (process_timeout)\n100 total events, 25.24 events/sec\n\n[ cleanups and hrtimers support from Thomas Gleixner \u003ctglx@linutronix.de\u003e ]\n[bunk@stusta.de: nr_entries can become static]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72fd4a35a824331d7a0f4168d7576502d95d34b3",
      "tree": "be27880bc36b7f62e8044a88b8744a35c5317714",
      "parents": [
        "262086cf5b5343c2b81c97b1c606058e921859df"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] Numerous fixes to kernel-doc info in source files.\n\nA variety of (mostly) innocuous fixes to the embedded kernel-doc content in\nsource files, including:\n\n  * make multi-line initial descriptions single line\n  * denote some function names, constants and structs as such\n  * change erroneous opening \u0027/*\u0027 to \u0027/**\u0027 in a few places\n  * reword some text for clarity\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af9997e426f9ddfe7a84cb4cd3c7ff938fabd41a",
      "tree": "8bbb991c584b1a555b35950900455517f5e55ee9",
      "parents": [
        "b7f869a2847dfe6f9b0835ca1b24e73bed926d7d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Dec 22 01:06:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 22 08:55:47 2006 -0800"
      },
      "message": "[PATCH] fix kernel-doc warnings in 2.6.20-rc1\n\nFix kernel-doc warnings in 2.6.20-rc1.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9bfb18392ef586467277fa25d8f3a7a93611f6df",
      "tree": "e0bb6aab4983a50f54b247ac3db323dbb8d025a2",
      "parents": [
        "5ccac88eeb5659c716af8e695e2943509c80d172"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 18 20:05:09 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 21 00:20:01 2006 -0800"
      },
      "message": "[PATCH] workqueue: fix schedule_on_each_cpu()\n\nfix the schedule_on_each_cpu() implementation: __queue_work() is now\nstricter, hence set the work-pending bit before passing in the new work.\n\n(found in the -rt tree, using Peter Zijlstra\u0027s files-lock scalability\npatchset)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a08727bae727fc2ca3a6ee9506d77786b71070b3",
      "tree": "b1b42acea520c7738fc2e62476221a049f195f87",
      "parents": [
        "2f77d107050abc14bc393b34bdb7b91cf670c250"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 16 09:53:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 16 09:53:50 2006 -0800"
      },
      "message": "Make workqueue bit operations work on \"atomic_long_t\"\n\nOn architectures where the atomicity of the bit operations is handled by\nexternal means (ie a separate spinlock to protect concurrent accesses),\njust doing a direct assignment on the workqueue data field (as done by\ncommit 4594bf159f1962cec3b727954b7c598b07e2e737) can cause the\nassignment to be lost due to lack of serialization with the bitops on\nthe same word.\n\nSo we need to serialize the assignment with the locks on those\narchitectures (notably older ARM chips, PA-RISC and sparc32).\n\nSo rather than using an \"unsigned long\", let\u0027s use \"atomic_long_t\",\nwhich already has a safe assignment operation (atomic_long_set()) on\nsuch architectures.\n\nThis requires that the atomic operations use the same atomicity locks as\nthe bit operations do, but that is largely the case anyway.  Sparc32\nwill probably need fixing.\n\nArchitectures (including modern ARM with LL/SC) that implement sane\natomic operations for SMP won\u0027t see any of this matter.\n\nCc: Russell King \u003crmk+lkml@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Linux Arch Maintainers \u003clinux-arch@vger.kernel.org\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4594bf159f1962cec3b727954b7c598b07e2e737",
      "tree": "bf2b58509973e8961d8d3a37c863ccec70547d3b",
      "parents": [
        "d8a53b358257625778387925165eaa97839b2f52"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 07 11:33:26 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 09 12:25:08 2006 -0800"
      },
      "message": "[PATCH] WorkStruct: Use direct assignment rather than cmpxchg()\n\nUse direct assignment rather than cmpxchg() as the latter is unavailable\nand unimplementable on some platforms and is actually unnecessary.\n\nThe use of cmpxchg() was to guard against two possibilities, neither of\nwhich can actually occur:\n\n (1) The pending flag may have been unset or may be cleared.  However, given\n     where it\u0027s called, the pending flag is _always_ set.  I don\u0027t think it\n     can be unset whilst we\u0027re in set_wq_data().\n\n     Once the work is enqueued to be actually run, the only way off the queue\n     is for it to be actually run.\n\n     If it\u0027s a delayed work item, then the bit can\u0027t be cleared by the timer\n     because we haven\u0027t started the timer yet.  Also, the pending bit can\u0027t be\n     cleared by cancelling the delayed work _until_ the work item has had its\n     timer started.\n\n (2) The workqueue pointer might change.  This can only happen in two cases:\n\n     (a) The work item has just been queued to actually run, and so we\u0027re\n         protected by the appropriate workqueue spinlock.\n\n     (b) A delayed work item is being queued, and so the timer hasn\u0027t been\n     \t started yet, and so no one else knows about the work item or can\n     \t access it (the pending bit protects us).\n\n     Besides, set_wq_data() _sets_ the workqueue pointer unconditionally, so\n     it can be assigned instead.\n\nSo, replacing the set_wq_data() with a straight assignment would be okay\nin most cases.\n\nThe problem is where we end up tangling with test_and_set_bit() emulated\nusing spinlocks, and even then it\u0027s not a problem _provided_\ntest_and_set_bit() doesn\u0027t attempt to modify the word if the bit was\nset.\n\nIf that\u0027s a problem, then a bitops-proofed assignment will be required -\nequivalent to atomic_set() vs other atomic_xxx() ops.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68380b581383c028830f79ec2670f4a193854aa6",
      "tree": "49ea33a67213702ff56ca5843435c75749ac0ab3",
      "parents": [
        "2fd8507d14ef7af3ae05316b3277044cf6daa381"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 09:28:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 09:28:19 2006 -0800"
      },
      "message": "Add \"run_scheduled_work()\" workqueue function\n\nThis allows workqueue users to run just their own pending work, rather\nthan wait for the whole workqueue to finish running.  This solves the\ndeadlock with networking libphy that was due to other workqueue entries\npossibly needing a lock that was held by the routine that wanted to\nflush its own work.\n\nIt\u0027s not wonderful: if you absolutely need to synchronize with the work\nfunction having been executed, any user strictly speaking should have\nits own completion tracking logic, since when we run things explicitly\nby hand, the generic workqueue layer can no longer help us synchronize.\n\nAlso, this is strictly only usable for work that has been scheduled\nwithout any delayed timers.  You can not mix the new interface with\nschedule_delayed_work().\n\nBut it\u0027s better than what we had currently.\n\nAcked-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "02316067852187b8bec781bec07410e91af79627",
      "tree": "856e3f4610c91a6548bf3bf5c70ecbc0b28a4145",
      "parents": [
        "a38a44c1a93078fc5fadc4ac2df8dea4697069e2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 06 20:38:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:39 2006 -0800"
      },
      "message": "[PATCH] hotplug CPU: clean up hotcpu_notifier() use\n\nThere was lots of #ifdef noise in the kernel due to hotcpu_notifier(fn,\nprio) not correctly marking \u0027fn\u0027 as used in the !HOTPLUG_CPU case, and thus\ngenerating compiler warnings of unused symbols, hence forcing people to add\n#ifdefs.\n\nthe compiler can skip truly unused functions just fine:\n\n    text    data     bss     dec     hex filename\n 1624412  728710 3674856 6027978  5bfaca vmlinux.before\n 1624412  728710 3674856 6027978  5bfaca vmlinux.after\n\n[akpm@osdl.org: topology.c fix]\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": "d5abe669172f20a4129a711de0f250a4e07db298",
      "tree": "8a1ae8ab51525bfa9e29707f27cc656e2275b247",
      "parents": [
        "6fb50ea79cb869667adaa71ed32cc15dd73986de"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:37:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:36 2006 -0800"
      },
      "message": "[PATCH] debug: workqueue locking sanity\n\nWorkqueue functions should not leak locks, assert so, printing the\nlast function ran.\n\nUse macros in lockdep.h to avoid include dependency pains.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-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": "341a595850dac1b0503df34260257d71b4fdf72c",
      "tree": "478bba299639ddebed62c6d9feb3c54504726e9b",
      "parents": [
        "5045cfc103566878228ca36d05a0ae0076673e5a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 06 20:34:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:29 2006 -0800"
      },
      "message": "[PATCH] Support for freezeable workqueues\n\nMake it possible to create a workqueue the worker thread of which will be\nfrozen during suspend, along with other kernel threads.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "365970a1ea76d81cb1ad2f652acb605f06dae256",
      "tree": "d2a34e397a4c2d9d0c27ceb0854752afe143c100",
      "parents": [
        "6bb49e5965c1fc399b4d3cd2b5cf2da535b330c0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:49 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:49 2006 +0000"
      },
      "message": "WorkStruct: Merge the pending bit into the wq_data pointer\n\nReclaim a word from the size of the work_struct by folding the pending bit and\nthe wq_data pointer together.  This shouldn\u0027t cause misalignment problems as\nall pointers should be at least 4-byte aligned.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "6bb49e5965c1fc399b4d3cd2b5cf2da535b330c0",
      "tree": "ebf48d3bb43c8dbf65d2653b8810973e69d3517e",
      "parents": [
        "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:45 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:45 2006 +0000"
      },
      "message": "WorkStruct: Typedef the work function prototype\n\nDefine a type for the work function prototype.  It\u0027s not only kept in the\nwork_struct struct, it\u0027s also passed as an argument to several functions.\n\nThis makes it easier to change it.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "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"
    }
  ]
}
