)]}'
{
  "log": [
    {
      "commit": "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1",
      "tree": "54d4d4f7e8311b77f3166a8807a635347d479081",
      "parents": [
        "8da3821ba5634497da63d58a69e24a97697c4a2b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:08 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:44 2008 +0200"
      },
      "message": "ftrace: mcount call site on boot nops core\n\nThis is the infrastructure to the converting the mcount call sites\nrecorded by the __mcount_loc section into nops on boot. It also allows\nfor using these sites to enable tracing as normal. When the __mcount_loc\nsection is used, the \"ftraced\" kernel thread is disabled.\n\nThis uses the current infrastructure to record the mcount call sites\nas well as convert them to nops. The mcount function is kept as a stub\non boot up and not converted to the ftrace_record_ip function. We use the\nftrace_record_ip to only record from the table.\n\nThis patch does not handle modules. That comes with a later patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96d746c68fae9a1e3167caab04c22fd0f677f62d",
      "tree": "a2e1d1be86ae7660e00986159987ee3bd1e8f2a3",
      "parents": [
        "95b866d5afcafee00fc9ad70665e48c86d8c4e0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 03 13:38:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 03 13:38:07 2008 -0700"
      },
      "message": "Fix init/main.c to use regular printk with \u0027%pF\u0027 for initcall fn\n\n.. small detail, but the silly e1000e initcall warning debugging caused\nme to look at this code.  Rather than gouge my eyes out with a spoon, I\njust fixed it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59f9415ffb9759e950d775f4c400f747b332cc02",
      "tree": "354544b8cad8ae77a5f960fe601b2a3613a2523a",
      "parents": [
        "4bceba417a795b78a5146e3f85291cb7bb2402ef"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 30 12:49:02 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:54 2008 +1000"
      },
      "message": "modules: extend initcall_debug functionality to the module loader\n\nThe kernel has this really nice facility where if you put \"initcall_debug\"\non the kernel commandline, it\u0027ll print which function it\u0027s going to\nexecute just before calling an initcall, and then after the call completes\nit will\n\n1) print if it had an error code\n\n2) checks for a few simple bugs (like leaving irqs off)\nand\n\n3) print how long the init call took in milliseconds.\n\nWhile trying to optimize the boot speed of my laptop, I have been loving\nnumber 3 to figure out what to optimize...  ...  and then I wished that\nthe same thing was done for module loading.\n\nThis patch makes the module loader use this exact same functionality; it\u0027s\na logical extension in my view (since modules are just sort of late\nbinding initcalls anyway) and so far I\u0027ve found it quite useful in finding\nwhere things are too slow in my boot.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b5b9309d3415480b3e66314a1d6c89db58bff9de",
      "tree": "2afca0cb09bded726fa06b967c4cfa23e5283adf",
      "parents": [
        "39b986a6c73434d122967dc86efb295ab9a28437"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Aug 05 18:16:58 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Aug 05 18:16:58 2008 +0200"
      },
      "message": "remove unnecessary \u003clinux/hdreg.h\u003e includes\n\nFollowing files don\u0027t need \u003clinux/hdreg.h\u003e at all:\n\n- arch/mips/jazz/setup.c\n- arch/sh/boards/mach-systemh/irq.c\n- drivers/macintosh/mediabay.c\n- drivers/scsi/hptiop.c\n- drivers/usb/storage/freecom.c\n- arch/powerpc/include/asm/ide.h\n- init/main.c\n\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "bd673c7c3b1681dbfabab0062e67398dadf806af",
      "tree": "b2334952d5e070042fab29715a4ef228d0cd96a2",
      "parents": [
        "06ac667903ebea8191d4f7e7fa4e0936161e25fe"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Jul 29 22:33:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:45 2008 -0700"
      },
      "message": "initrd: cast `initrd_start\u0027 to `void *\u0027\n\ncommit fb6624ebd912e3d6907ca6490248e73368223da9 (initrd: Fix virtual/physical\nmix-up in overwrite test) introduced the compiler warning below on mips,\nas its virt_to_page() doesn\u0027t cast the passed address to unsigned long\ninternally, unlike on most other architectures:\n\ninit/main.c: In function `start_kernel\u0027:\ninit/main.c:633: warning: passing argument 1 of `virt_to_phys\u0027 makes pointer from integer without a cast\ninit/main.c:636: warning: passing argument 1 of `virt_to_phys\u0027 makes pointer from integer without a cast\n\nFor now, kill the warning by explicitly casting initrd_start to `void *\u0027, as\nthat\u0027s the type it should really be.\n\nReported-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7babe8db99d305340cf4828ce1f5a1481d5622ef",
      "tree": "fdac7a084646bb6d125ebc62b0b75806e45d1025",
      "parents": [
        "c2147a5092cfe13dbf3210e54e8a622015edeecc"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Fri Jul 25 19:45:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "Full conversion to early_initcall() interface, remove old interface\n\nA previous patch added the early_initcall(), to allow a cleaner hooking of\npre-SMP initcalls.  Now we remove the older interface, converting all\nexisting users to the new one.\n\n[akpm@linux-foundation.org: cleanups]\n[akpm@linux-foundation.org: build fix]\n[kosaki.motohiro@jp.fujitsu.com: warning fix]\n[kosaki.motohiro@jp.fujitsu.com: warning fix]\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2147a5092cfe13dbf3210e54e8a622015edeecc",
      "tree": "e34e0daee3cc0b19914a27d6f7f284b1fc22aa93",
      "parents": [
        "89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Fri Jul 25 19:45:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "Better interface for hooking early initcalls\n\nAdded early initcall (pre-SMP) support, using an identical interface to\nthat of regular initcalls.  Functions called from do_pre_smp_initcalls()\ncould be converted to use this cleaner interface.\n\nThis is required by CPU hotplug, because early users have to register\nnotifiers before going SMP.  One such CPU hotplug user is the relay\ninterface with buffer-only channels, which needs to register such a\nnotifier, to be usable in early code.  This in turn is used by kmemtrace.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae4eed34be0177a8e003411a84e4ee212adbced",
      "tree": "dc73a9e0b884c35d996cd66dca0fc8a7a06d43df",
      "parents": [
        "4ecb90090c84210a8bd2a9d7a5906e616735873c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "proper pid{hash,map}_init() prototypes\n\nThis patch adds proper prototypes for pid{hash,map}_init() in\ninclude/linux/pid_namespace.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f9dce38378f0a4a298e885553d6bb7121376376",
      "tree": "5bfd688c9f356f7216bbc3cef3b4c10153de334b",
      "parents": [
        "26dcce0fabbef75ae426461edf21b5030bad60f3",
        "ba42059fbd0aa1ac91b582412b5fedb1258f241f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: hrtick_enabled() should use cpu_active()\n  sched, x86: clean up hrtick implementation\n  sched: fix build error, provide partition_sched_domains() unconditionally\n  sched: fix warning in inc_rt_tasks() to not declare variable \u0027rq\u0027 if it\u0027s not needed\n  cpu hotplug: Make cpu_active_map synchronization dependency clear\n  cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)\n  sched: rework of \"prioritize non-migratable tasks over migratable ones\"\n  sched: reduce stack size in isolated_cpu_setup()\n  Revert parts of \"ftrace: do not trace scheduler functions\"\n\nFixed up conflicts in include/asm-x86/thread_info.h (due to the\nTIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and\nkernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr()\nintroduction).\n"
    },
    {
      "commit": "fb6624ebd912e3d6907ca6490248e73368223da9",
      "tree": "5b65886c761a444fe115e96d7db04fd611816477",
      "parents": [
        "18c993629a5a5938a032f04a698d15122550593d"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Jul 17 21:16:36 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:24:40 2008 -0700"
      },
      "message": "initrd: Fix virtual/physical mix-up in overwrite test\n\nOn recent kernels, I get the following error when using an initrd:\n\n| initrd overwritten (0x00b78000 \u003c 0x07668000) - disabling it.\n\nMy Amiga 4000 has 12 MiB of RAM at physical address 0x07400000 (virtual\n0x00000000).\nThe initrd is located at the end of RAM: 0x00b78000 - 0x00c00000 (virtual).\nThe overwrite test compares the (virtual) initrd location to the (physical)\nfirst available memory location, which fails.\n\nThis patch converts initrd_start to a page frame number, so it can safely be\ncompared with min_low_pfn.\n\nBefore the introduction of discontiguous memory support on m68k\n(12d810c1b8c2b913d48e629e2b5c01d105029839), min_low_pfn was just left\nuntouched by the m68k-specific code (zero, I guess), and everything worked\nfine.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e761b7725234276a802322549cee5255305a0930",
      "tree": "27b351a7d5fc9a93590e0effce1c5adb1bfcebc0",
      "parents": [
        "7ebefa8ceefed44cc321be70afc54a585a68ac0b"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Tue Jul 15 04:43:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 13:22:25 2008 +0200"
      },
      "message": "cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)\n\nThis is based on Linus\u0027 idea of creating cpu_active_map that prevents\nscheduler load balancer from migrating tasks to the cpu that is going\ndown.\n\nIt allows us to simplify domain management code and avoid unecessary\ndomain rebuilds during cpu hotplug event handling.\n\nPlease ignore the cpusets part for now. It needs some more work in order\nto avoid crazy lock nesting. Although I did simplfy and unify domain\nreinitialization logic. We now simply call partition_sched_domains() in\nall the cases. This means that we\u0027re using exact same code paths as in\ncpusets case and hence the test below cover cpusets too.\nCpuset changes to make rebuild_sched_domains() callable from various\ncontexts are in the separate patch (right next after this one).\n\nThis not only boots but also easily handles\n\twhile true; do make clean; make -j 8; done\nand\n\twhile true; do on-off-cpu 1; done\nat the same time.\n(on-off-cpu 1 simple does echo 0/1 \u003e /sys/.../cpu1/online thing).\n\nSuprisingly the box (dual-core Core2) is quite usable. In fact I\u0027m typing\nthis on right now in gnome-terminal and things are moving just fine.\n\nAlso this is running with most of the debug features enabled (lockdep,\nmutex, etc) no BUG_ONs or lockdep complaints so far.\n\nI believe I addressed all of the Dmitry\u0027s comments for original Linus\u0027\nversion. I changed both fair and rt balancer to mask out non-active cpus.\nAnd replaced cpu_is_offline() with !cpu_active() in the main scheduler\ncode where it made sense (to me).\n\nSigned-off-by: Max Krasnyanskiy \u003cmaxk@qualcomm.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: dmitry.adamushko@gmail.com\nCc: pj@sgi.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59190f4213462f191fc0d22d39b1cf18ea39ca39",
      "tree": "8f30fa62ae7d8948e7974dfecede3d6a41ae3ec3",
      "parents": [
        "64fd52a52077d3cd5a778ca031c0aaecf885eaa6",
        "f6f88e9bfb6ced9871ed65ebe85c371de3c9e4be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 14:02:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 14:12:03 2008 -0700"
      },
      "message": "Merge branch \u0027generic-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027generic-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits)\n  generic-ipi: more merge fallout\n  generic-ipi: merge fix\n  x86, visws: use mach-default/entry_arch.h\n  x86, visws: fix generic-ipi build\n  generic-ipi: fixlet\n  generic-ipi: fix s390 build bug\n  generic-ipi: fix linux-next tree build failure\n  fix: \"smp_call_function: get rid of the unused nonatomic/retry argument\"\n  fix: \"smp_call_function: get rid of the unused nonatomic/retry argument\"\n  fix \"smp_call_function: get rid of the unused nonatomic/retry argument\"\n  on_each_cpu(): kill unused \u0027retry\u0027 parameter\n  smp_call_function: get rid of the unused nonatomic/retry argument\n  sh: convert to generic helpers for IPI function calls\n  parisc: convert to generic helpers for IPI function calls\n  mips: convert to generic helpers for IPI function calls\n  m32r: convert to generic helpers for IPI function calls\n  arm: convert to generic helpers for IPI function calls\n  alpha: convert to generic helpers for IPI function calls\n  ia64: convert to generic helpers for IPI function calls\n  powerpc: convert to generic helpers for IPI function calls\n  ...\n\nFix trivial conflicts due to rcu updates in kernel/rcupdate.c manually\n"
    },
    {
      "commit": "3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1",
      "tree": "9fd3cfa9825e8cb0b7e08dfae85cc9a722442849",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:21:34 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:21:34 2008 +0200"
      },
      "message": "Add generic helpers for arch IPI function calls\n\nThis adds kernel/smp.c which contains helpers for IPI function calls. In\naddition to supporting the existing smp_call_function() in a more efficient\nmanner, it also adds a more scalable variant called smp_call_function_single()\nfor calling a given function on a single CPU only.\n\nThe core of this is based on the x86-64 patch from Nick Piggin, lots of\nchanges since then. \"Alan D. Brunelle\" \u003cAlan.Brunelle@hp.com\u003e has\ncontributed lots of fixes and suggestions as well. Also thanks to\nPaul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e for reviewing RCU usage\nand getting rid of the data allocation fallback deadlock.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4446a36ff8c74ac3b32feb009b651048e129c6af",
      "tree": "4ae726073e02281c2de51ed394ba2a812fd55c9b",
      "parents": [
        "8b09dee67f484e9b42114b1a1f068e080fd7aa56"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 12 21:21:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 19 10:01:36 2008 +0200"
      },
      "message": "rcu: add call_rcu_sched()\n\nFourth cut of patch to provide the call_rcu_sched().  This is again to\nsynchronize_sched() as call_rcu() is to synchronize_rcu().\n\nShould be fine for experimental and -rt use, but not ready for inclusion.\nWith some luck, I will be able to tell Andrew to come out of hiding on\nthe next round.\n\nPasses multi-day rcutorture sessions with concurrent CPU hotplugging.\n\nFixes since the first version include a bug that could result in\nindefinite blocking (spotted by Gautham Shenoy), better resiliency\nagainst CPU-hotplug operations, and other minor fixes.\n\nFixes since the second version include reworking grace-period detection\nto avoid deadlocks that could happen when running concurrently with\nCPU hotplug, adding Mathieu\u0027s fix to avoid the softlockup messages,\nas well as Mathieu\u0027s fix to allow use earlier in boot.\n\nFixes since the third version include a wrong-CPU bug spotted by\nAndrew, getting rid of the obsolete synchronize_kernel API that somehow\nsnuck back in, merging spin_unlock() and local_irq_restore() in a\nfew places, commenting the code that checks for quiescent states based\non interrupting from user-mode execution or the idle loop, removing\nsome inline attributes, and some code-style changes.\n\nKnown/suspected shortcomings:\n\no\tI still do not entirely trust the sleep/wakeup logic.  Next step\n\twill be to use a private snapshot of the CPU online mask in\n\trcu_sched_grace_period() -- if the CPU wasn\u0027t there at the start\n\tof the grace period, we don\u0027t need to hear from it.  And the\n\tbit about accounting for changes in online CPUs inside of\n\trcu_sched_grace_period() is ugly anyway.\n\no\tIt might be good for rcu_sched_grace_period() to invoke\n\tresched_cpu() when a given CPU wasn\u0027t responding quickly,\n\tbut resched_cpu() is declared static...\n\nThis patch also fixes a long-standing bug in the earlier preemptable-RCU\nimplementation of synchronize_rcu() that could result in loss of\nconcurrent external changes to a task\u0027s CPU affinity mask.  I still cannot\nremember who reported this...\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a76bfd0da2321ed0a978ccbef192856ce7ed687a",
      "tree": "eb9e9b10f8b500bdf55831e780a2658a2486b715",
      "parents": [
        "e0df154f45e40677781e971daec6c430cb34716b"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu May 15 13:52:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 15 18:20:06 2008 -0700"
      },
      "message": "initcalls: Fix m68k build and possible buffer overflow\n\nThis patch fixes a build bug on m68k - gcc decides to emit a call to the\nstrlen library function, which we don\u0027t implement.\n\nMore importantly - my previous patch \"init: don\u0027t lose initcall return\nvalues\" (commit e662e1cfd434aa234b72fbc781f1d70211cb785b) had introduced\npotential buffer overflow by wrong calculation of string accumulator\nsize.\n\nUse strlcat() instead, fixing both bugs.\n\nMany thanks Andreas Schwab and Geert Uytterhoeven for helping\nto catch and fix the bug.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0df154f45e40677781e971daec6c430cb34716b",
      "tree": "079e0dad9f21a780f50aaa9c5878721a9a7ed0e0",
      "parents": [
        "a442ac512f36981182e66a427ad05f449ff6593b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 15 18:14:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 15 18:14:01 2008 -0700"
      },
      "message": "Split up \u0027do_initcalls()\u0027 into two simpler functions\n\nOne function to just loop over the entries, one function to actually do\nthe call and the associated debugging code.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a442ac512f36981182e66a427ad05f449ff6593b",
      "tree": "8a99f2f4cb7f66e816163068c0c2c709c1852ac6",
      "parents": [
        "7371fd11a6e2aed99895db4f100940fa5022f7fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 15 17:50:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 15 17:50:37 2008 -0700"
      },
      "message": "Clean up \u0027print_fn_descriptor_symbol()\u0027 types\n\nEverybody wants to pass it a function pointer, and in fact, that is what\nyou _must_ pass it for it to make sense (since it knows that ia64 and\nppc64 use descriptors for function pointers and fetches the actual\naddress from there).\n\nSo don\u0027t make the argument be a \u0027unsigned long\u0027 and force everybody to\nadd a cast.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e662e1cfd434aa234b72fbc781f1d70211cb785b",
      "tree": "f733af13c469b185ba4b4eb192f2834936200e9b",
      "parents": [
        "67d7671036e6cae24ded112e079926d55ffe9580"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Mon May 12 14:02:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:25 2008 -0700"
      },
      "message": "init: don\u0027t lose initcall return values\n\nThere is an ability to lose an initcall return value if it happened with irq\ndisabled or imbalanced preemption (and if we debug initcall).\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd",
      "tree": "3752f9ea8e014ec40e95a1b197b0a3d18e1056a8",
      "parents": [
        "a5574cf65b5f03ce9ade3918764fe22e5e2371e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 03 18:29:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\nthis replaces the rq-\u003eclock stuff (and possibly cpu_clock()).\n\n - architectures that have an \u0027imperfect\u0027 hardware clock can set\n   CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\n - the \u0027jiffie\u0027 window might be superfulous when we update tick_gtod\n   before the __update_sched_clock() call in sched_clock_tick()\n\n - cpu_clock() might be implemented as:\n\n     sched_clock_cpu(smp_processor_id())\n\n   if the accuracy proves good enough - how far can TSC drift in a\n   single jiffie when considering the filtering and idle hooks?\n\n[ mingo@elte.hu: various fixes and cleanups ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ac7fe5a4aab409bd5674d0b070bce97f9d20872",
      "tree": "5e12e8864bb8737695e4eb9c63970602d5f69e73",
      "parents": [
        "30327acf7846c5eb97c8e31c78317a2918d3e515"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "infrastructure to debug (dynamic) objects\n\nWe can see an ever repeating problem pattern with objects of any kind in the\nkernel:\n\n1) freeing of active objects\n2) reinitialization of active objects\n\nBoth problems can be hard to debug because the crash happens at a point where\nwe have no chance to decode the root cause anymore.  One problem spot are\nkernel timers, where the detection of the problem often happens in interrupt\ncontext and usually causes the machine to panic.\n\nWhile working on a timer related bug report I had to hack specialized code\ninto the timer subsystem to get a reasonable hint for the root cause.  This\ndebug hack was fine for temporary use, but far from a mergeable solution due\nto the intrusiveness into the timer code.\n\nThe code further lacked the ability to detect and report the root cause\ninstantly and keep the system operational.\n\nKeeping the system operational is important to get hold of the debug\ninformation without special debugging aids like serial consoles and special\nknowledge of the bug reporter.\n\nThe problems described above are not restricted to timers, but timers tend to\nexpose it usually in a full system crash.  Other objects are less explosive,\nbut the symptoms caused by such mistakes can be even harder to debug.\n\nInstead of creating specialized debugging code for the timer subsystem a\ngeneric infrastructure is created which allows developers to verify their code\nand provides an easy to enable debug facility for users in case of trouble.\n\nThe debugobjects core code keeps track of operations on static and dynamic\nobjects by inserting them into a hashed list and sanity checking them on\nobject operations and provides additional checks whenever kernel memory is\nfreed.\n\nThe tracked object operations are:\n- initializing an object\n- adding an object to a subsystem list\n- deleting an object from a subsystem list\n\nEach operation is sanity checked before the operation is executed and the\nsubsystem specific code can provide a fixup function which allows to prevent\nthe damage of the operation.  When the sanity check triggers a warning message\nand a stack trace is printed.\n\nThe list of operations can be extended if the need arises.  For now it\u0027s\nlimited to the requirements of the first user (timers).\n\nThe core code enqueues the objects into hash buckets.  The hash index is\ngenerated from the address of the object to simplify the lookup for the check\non kfree/vfree.  Each bucket has it\u0027s own spinlock to avoid contention on a\nglobal lock.\n\nThe debug code can be compiled in without being active.  The runtime overhead\nis minimal and could be optimized by asm alternatives.  A kernel command line\noption enables the debugging code.\n\nThanks to Ingo Molnar for review, suggestions and cleanup patches.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cd204550b1a006f2b0c986b0e0f53220ebfd391",
      "tree": "ee0f5e042072d4d2f4a3c6cd6e3a8b60676868ae",
      "parents": [
        "cb41d6d068716b2b3666925da34d3d7e658bf4f3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:54:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "Deprecate find_task_by_pid()\n\nThere are some places that are known to operate on tasks\u0027\nglobal pids only:\n\n* the rest_init() call (called on boot)\n* the kgdb\u0027s getthread\n* the create_kthread() (since the kthread is run in init ns)\n\nSo use the find_task_by_pid_ns(..., \u0026init_pid_ns) there\nand schedule the find_task_by_pid for removal.\n\n[sukadev@us.ibm.com: Fix warning in kernel/pid.c]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fae5fa44f1fd079ffbed8e0add929dd7bbd1347f",
      "tree": "8990ac958d29733cb61733ae69265472f5e1d13c",
      "parents": [
        "193191035ad6268db9f561e81e3474b8be89a5ba"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: fix /sbin/init protection from unwanted signals\n\nThe global init has a lot of long standing problems with the unhandled fatal\nsignals.\n\n\t- The \"is_global_init(current)\" check in get_signal_to_deliver()\n\t  protects only the main thread. Sub-thread can dequee the fatal\n\t  signal and shutdown the whole thread group except the main thread.\n\t  If it dequeues SIGSTOP /sbin/init will be stopped, this is not\n\t  right too. Note that we can\u0027t use is_global_init(-\u003egroup_leader),\n\t  this breaks exec and this can\u0027t solve other problems we have.\n\n\t- Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT\n\t  on delivery. This breaks exec, has other bad implications, and this\n\t  is just wrong.\n\nIntroduce the new SIGNAL_UNKILLABLE flag to fix these problems.  It also helps\nto solve some other problems addressed by the subsequent patches.\n\nCurrently we use this flag for the global init only, but it could also be used\nby kthreads and (perhaps) by the sub-namespace inits.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "199f0ca514f9c17668eec4f935c4ba24cd789f85",
      "tree": "54406e3eb5be58e3350d8f60a64ac78ec3990f97",
      "parents": [
        "801678c5a3b4c79236970bcca27c733f5559e0d1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Apr 29 01:03:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "idr: create idr_layer_cache at boot time\n\nAvoid a possible kmem_cache_create() failure by creating idr_layer_cache\nunconditionary at boot time rather than creating it on-demand when idr_init()\nis called the first time.\n\nThis change also enables us to eliminate the check every time idr_init() is\ncalled.\n\n[akpm@linux-foundation.org: rename init_id_cache() to idr_init_cache()]\n[akpm@linux-foundation.org: fix alpha build]\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf475ad28ac35cc9ba612d67158f29b73b38b05d",
      "tree": "2c7cd568d00357bd42643ea602884e731cc24f26",
      "parents": [
        "29486df325e1fe6e1764afcb19e3370804c2b002"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Apr 29 01:00:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: add an owner to the mm_struct\n\nRemove the mem_cgroup member from mm_struct and instead adds an owner.\n\nThis approach was suggested by Paul Menage.  The advantage of this approach\nis that, once the mm-\u003eowner is known, using the subsystem id, the cgroup\ncan be determined.  It also allows several control groups that are\nvirtually grouped by mm_struct, to exist independent of the memory\ncontroller i.e., without adding mem_cgroup\u0027s for each controller, to\nmm_struct.\n\nA new config option CONFIG_MM_OWNER is added and the memory resource\ncontroller selects this config option.\n\nThis patch also adds cgroup callbacks to notify subsystems when mm-\u003eowner\nchanges.  The mm_cgroup_changed callback is called with the task_lock() of\nthe new task held and is called just prior to changing the mm-\u003eowner.\n\nI am indebted to Paul Menage for the several reviews of this patchset and\nhelping me make it lighter and simpler.\n\nThis patch was tested on a powerpc box, it was compiled with both the\nMM_OWNER config turned on and off.\n\nAfter the thread group leader exits, it\u0027s moved to init_css_state by\ncgroup_exit(), thus all future charges from runnings threads would be\nredirected to the init_css_set\u0027s subsystem.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Hirokazu Takahashi \u003ctaka@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e,\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "626adeb6675fdf60e9d8c6212776b0b0acf0e376",
      "tree": "e526309273a2ee93c9e1546ce69c8c2cd5100606",
      "parents": [
        "22caa0417db3b1d3dfafc9b7c0bf31baf8d667e7"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Apr 29 00:59:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "Simplify initcall_debug output\n\nprint_fn_descriptor_symbol() prints the address if we don\u0027t have a symbol, so\nno need to print both.\n\nAlso, combine printing return value with elapsed time.  Changes this:\n\n  Calling initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50()\n  initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50() returned 1.\n  initcall 0xc05b7a70 ran for 0 msecs: pci_mmcfg_late_insert_resources+0x0/0x50()\n  initcall at 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50(): returned with error code 1\n\nto this:\n\n  calling  pci_mmcfg_late_insert_resources+0x0/0x50()\n  initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned 1 after 0 msecs\n  initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned with error code 1\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "839ad62e75ee1968438d1b72261304cd47fc961e",
      "tree": "5494458c9a17910488701dce3ff5a8647b49ea63",
      "parents": [
        "f6a616800e68b61807d0f7bb0d5dc70665ef8046"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Apr 18 16:56:18 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Apr 24 20:57:33 2008 +1000"
      },
      "message": "[POWERPC] Use __weak macro for smp_setup_processor_id\n\nUse the __weak macro instead of the longer __attribute__ ((weak)) form\nin one place in init/main.c.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n--\n\n init/main.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "8c9843e57a7d9d7a090d6467a0f1f3afb8031527",
      "tree": "5efdab577853bc92e3c980fc97aba74be58c1efb",
      "parents": [
        "1d32e21889b96e594e8b63b193bf7d2a51ab93ec"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Apr 18 16:56:15 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Apr 24 20:57:33 2008 +1000"
      },
      "message": "[POWERPC] Add thread_info_cache_init() weak hook\n\nSome architectures need to maintain a kmem cache for thread info\nstructures.  The next commit adds that to powerpc to fix an alignment\nproblem.\n\nThere is no good arch callback to use to initialize that cache\nthat I can find, so this adds a new one in the form of a weak\nfunction whose default is empty.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "e0982e90cd1ecf59818b137386b7f63debded9cc",
      "tree": "3cdbfa8a69dca4a9c9596d61bffa32f1b676f09d",
      "parents": [
        "4bdbaad33d0f4d0e9818a38a825f5b75c0296a28"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Mar 26 14:23:48 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "init: move setup of nr_cpu_ids to as early as possible\n\nMove the setting of nr_cpu_ids from sched_init() to start_kernel()\nso that it\u0027s available as early as possible.\n\nNote that an arch has the option of setting it even earlier if need be,\nbut it should not result in a different value than the setup_nr_cpu_ids()\nfunction.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "321a8e9dcb714f3c350ba55e41ed447bf3f05fac",
      "tree": "e75ca8ebcee0954dc6e313864ebba9f72e984fc8",
      "parents": [
        "7c16ec585c558960a508ccf9a08fcb9ed49b3754"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:02 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "cpumask: add CPU_MASK_ALL_PTR macro\n\n  * Add a static cpumask_t variable \"CPU_MASK_ALL_PTR\" to use as\n    a pointer reference to CPU_MASK_ALL.  This reduces where possible\n    the instances where CPU_MASK_ALL allocates and fills a large\n    array on the stack.  Used only if NR_CPUS \u003e BITS_PER_LONG.\n\n  * Change init/main.c to use new set_cpus_allowed_ptr().\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a9e0d685553af76cb6ae2af93cca4913e7fcd47",
      "tree": "c4f041b0f7fa28db46841336135d493d587435ea",
      "parents": [
        "ce636452343af0522d2666157dab9c2096f4f996"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 15 11:53:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 15 11:58:04 2008 -0700"
      },
      "message": "ACPI: Remove ACPI_CUSTOM_DSDT_INITRD option\n\nThis essentially reverts commit 71fc47a9adf8ee89e5c96a47222915c5485ac437\n(\"ACPI: basic initramfs DSDT override support\"), because the code simply\nisn\u0027t ready.\n\nIt did ugly things to the init sequence to populate the rootfs image\nearly, but that just ended up showing other problems with the whole\napproach.  The fact is, the VFS layer simply isn\u0027t initialized this\nearly, and the relevant ACPI code should either run much later, or this\nshouldn\u0027t be done at all.\n\nFor 2.6.25, we\u0027ll just pick the latter option.  We can revisit this\nconcept later if necessary.\n\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Tilman Schmidt \u003ctilman@imap.cc\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Markus Gaugusch \u003cdsdt@gaugusch.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9d4fcfe515d7cece1b26decd75f5d41544a287b",
      "tree": "d5c7b437198584d389a481f150f5335db0c4c09c",
      "parents": [
        "d31472b6d4f799a68d877f69b2f843eec5875472"
      ],
      "author": {
        "name": "Alex Riesen",
        "email": "raa.lkml@gmail.com",
        "time": "Tue Mar 04 14:28:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:10 2008 -0800"
      },
      "message": "Fix \"Malformed early option \u0027loglevel\u0027\"\n\nKeith Mannthey said:\n\n  The parameter hotadd_percent is setup right but there is a \"Malformed\n  early option \u0027numa\u0027\" message.\n\nRusty Russell said:\n\n  This happens when the function registered with early_param() returns\n  non-zero.  __setup() functions return 1 if OK, module_param() and\n  early_param() return 0 or a -ve error code.\n\nFor instance:\n\nLinux version 2.6.25-rc3-t (raa@steel) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #22 SMP PREEMPT Tue Feb 26\nBIOS-provided physical RAM map:\n BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)\n BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)\n BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)\n BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)\n BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)\n BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)\nMalformed early option \u0027loglevel\u0027\n127MB HIGHMEM available.\n896MB LOWMEM available.\n\nCommand line:\n\nBOOT_IMAGE\u003d2.6.25-t ro root\u003d809 ro console\u003dttyS0,57600n8 console\u003dtty0 loglevel\u003d5\n\nAcked-by: Yinghai Lu \u003cyhlu.kernel@gmai.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Keith Mannthey \u003ckmannth@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a03c2a48e02aacaaea211c94691b729be357e047",
      "tree": "733e1b071c55900a2a88bdf2841a8cd8ee28d19f",
      "parents": [
        "166124fde978b5a6c4412fb295c7f39711beb1b0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 09 23:24:09 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 09 23:24:09 2008 +0100"
      },
      "message": "x86: DEBUG_PAGEALLOC: enable after mem_init()\n\nDEBUG_PAGEALLOC must not be enabled before mem_init(). Before this\npoint there is nothing to allocate.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6f21c81464ce52dbeec921bdc2e8b288c491920",
      "tree": "926a0fdcf513218bcbfc6f021e03edc36cff58fa",
      "parents": [
        "06b2a76d25d3cfbd14680021c1d356c91be6904e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Fri Feb 08 04:21:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "Convert loglevel-related kernel boot parameters to early_param\n\nSo we can use them for the early console like console\u003duart8250 or\nearlycon\u003duart8250 or early_printk\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@sun.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "430c623121ea88ca80595c99fdc63b7f8a803ae5",
      "tree": "8ada2d8287d07cabd64cc3614a6a643623046e5c",
      "parents": [
        "297bd42b15daed02453ff59ce6d31216a58b0398"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "start the global /sbin/init with 0,0 special pids\n\nAs Eric pointed out, there is no problem with init starting with sid \u003d\u003d pgid\n\u003d\u003d 0, and this was historical linux behavior changed in 2.6.18.\n\nRemove kernel_init()-\u003e__set_special_pids(), this is unneeded and complicates\nthe rules for sys_setsid().\n\nThis change and the previous change in daemonize() mean that /sbin/init does\nnot need the special \"session !\u003d 1\" hack in sys_setsid() any longer. We can\u0027t\nremove this check yet, we should cleanup copy_process(CLONE_NEWPID) first, so\nupdate the comment only.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8520d7c7f8611216e3b270becec95bb35b6899d4",
      "tree": "77001e6830bb415590067e9d4be24cd8bdd36219",
      "parents": [
        "e4cc0a9c876d4d4eadaef97a2bff4a199946d202"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "teach set_special_pids() to use struct pid\n\nChange set_special_pids() to work with struct pid, not pid_t from global name\nspace. This again speedups and imho cleanups the code, also a preparation for\nthe next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71fc47a9adf8ee89e5c96a47222915c5485ac437",
      "tree": "a2eaefbb703dde933a9726eae7e6399761d40136",
      "parents": [
        "488b5ec871191359b9b79262a3d48456dae7ea5f"
      ],
      "author": {
        "name": "Markus Gaugusch",
        "email": "dsdt@gaugusch.at",
        "time": "Tue Feb 05 00:04:06 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Feb 06 22:07:41 2008 -0500"
      },
      "message": "ACPI: basic initramfs DSDT override support\n\nThe basics of DSDT from initramfs. In case this option is selected,\npopulate_rootfs() is called a bit earlier to have the initramfs content\navailable during ACPI initialization.\n\nThis is a very similar path to the one available at\nhttp://gaugusch.at/kernel.shtml but with some update in the\ndocumentation, default set to No and the change of populate_rootfs() the\n\"Jeff Mahony way\" (which avoids reading the initramfs twice).\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a1c9eea9e56a7196c6891f6426b799c4598b38e2",
      "tree": "30beda8a7c7f45e77f96d0a49008e84e227a7ae6",
      "parents": [
        "ce88cc5ed80de746f5bd2d8242291c87e7b87f63"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper prototype for signals_init()\n\nAdd a proper prototype for signals_init() in include/linux/signal.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12d6f21eacc21d84a809829543f2fe45c7e37319",
      "tree": "6985f2370ad238fb2a568547a5049751d7c95a69",
      "parents": [
        "9a3dc7804e9856668caef41efc54179e61ffccc0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:58 2008 +0100"
      },
      "message": "x86: do not PSE on CONFIG_DEBUG_PAGEALLOC\u003dy\n\nget more testing of the c_p_a() code done by not turning off\nPSE on DEBUG_PAGEALLOC.\n\nthis simplifies the early pagetable setup code, and tests\nthe largepage-splitup code quite heavily.\n\nIn the end, all the largepages will be split up pretty quickly,\nso there\u0027s no difference to how DEBUG_PAGEALLOC worked before.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dd5af90a7f3d79e04b7eace9a98644dbf2038f4d",
      "tree": "22327ba385c830b7be391c76821dc5ec26863f2e",
      "parents": [
        "3212bff370c2f22e4987c6679ba485654cefb178"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "message": "x86/non-x86: percpu, node ids, apic ids x86.git fixup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ca74a6f84e68b44867022f4a4f3ec17c087c864e",
      "tree": "a5e84b251b1574b09288fb2636b4e4ea088ae70e",
      "parents": [
        "751752789162fde69474edfa15935d0a77c0bc17"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:33:17 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:17 2008 +0100"
      },
      "message": "x86: optimize lock prefix switching to run less frequently\n\nOn VMs implemented using JITs that cache translated code changing the lock\nprefixes is a quite costly operation that forces the JIT to throw away and\nretranslate a lot of code.\n\nPreviously a SMP kernel would rewrite the locks once for each CPU which\nis quite unnecessary. This patch changes the code to never switch at boot in\n the normal case (SMP kernel booting with \u003e1 CPU) or only once for SMP kernel\non UP.\n\nThis makes a significant difference in boot up performance on AMD SimNow!\nAlso I expect it to be a little faster on native systems too because a smp\nswitch does a lot of text_poke()s which each synchronize the pipeline.\n\nv1-\u003ev2: Rename max_cpus\nv1-\u003ev2: Fix off by one in UP check (Thomas Gleixner)\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b32ef636a59aad12f9f9b5dc34c93222842c58ba",
      "tree": "6857cac9a741be756608793ab1b481bfa32d2c2e",
      "parents": [
        "cf8fa920cb4271f17e0265c863d64bea1b31941a"
      ],
      "author": {
        "name": "travis@sgi.com",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:32:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:51 2008 +0100"
      },
      "message": "percpu: use a kconfig variable to signal arch specific percpu setup\n\nThe use of the __GENERIC_PERCPU is a bit problematic since arches\nmay want to run their own percpu setup while using the generic\npercpu definitions. Replace it through a kconfig variable.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d221938c049f4845da13c8593132595a6b9222a8",
      "tree": "8eae6c7095a3d7d31d7435befc30019540a4d13e",
      "parents": [
        "6b2d7700266b9402e12824e11e0099ae6a4a6a79"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jan 25 21:08:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:01 2008 +0100"
      },
      "message": "cpu-hotplug: refcount based cpu hotplug\n\nThis patch implements a Refcount + Waitqueue based model for\ncpu-hotplug.\n\nNow, a thread which wants to prevent cpu-hotplug, will bump up a global\nrefcount and the thread which wants to perform a cpu-hotplug operation\nwill block till the global refcount goes to zero.\n\nThe readers, if any, during an ongoing cpu-hotplug operation are blocked\nuntil the cpu-hotplug operation is over.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e [For !CONFIG_HOTPLUG_CPU ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6fe6649b4ec11aa3075e394b4d8743eebe1f64c",
      "tree": "e04e8b2206dfad58e784ea6e4550f98f318aff0b",
      "parents": [
        "b82d9fdd848abfbe7263a4ecd9bbb55e575100a6"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "message": "sched: proper prototype for kernel/sched.c:migration_init()\n\nThis patch adds a proper prototype for migration_init() in\ninclude/linux/sched.h\n\nSince there\u0027s no point in always returning 0 to a caller that doesn\u0027t check\nthe return value it also changes the function to return void.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "211fee8a82893062f45a7f2e4e50b245bc577c0c",
      "tree": "8eb8b75e6a6996080efea5b6ac6c11e30dada6d8",
      "parents": [
        "183ff22bb6bd8188c904ebfb479656ae52230b72"
      ],
      "author": {
        "name": "Simon Arlott",
        "email": "simon@fire.lp0.eu",
        "time": "Sat Oct 20 01:28:29 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 01:28:29 2007 +0200"
      },
      "message": "spelling fixes: init/\n\nSpelling fix in init/.\n\nSigned-off-by: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "d8af7c6ab0bc4e2404f290801982b40223a97408",
      "tree": "2d46f901123bb0b6585d662ee482f1592325df80",
      "parents": [
        "b7076156af7a87799c0e425db5aec8378be1c3ea"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri Oct 19 23:13:32 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:13:32 2007 +0200"
      },
      "message": "Drop the superfluous test for an old version of gcc.\n\nThe header file \u003clinux/compiler.h\u003e already enforces a suitably recent\nversion of gcc, so there\u0027s no point checking for that again.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "ddbcc7e8e50aefe467c01cac3dec71f118cd8ac2",
      "tree": "0881a031e669582f819d572339e955b04abfc3d2",
      "parents": [
        "55a230aae650157720becc09cadb7d10efbf5013"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: basic task cgroup framework\n\nGeneric Process Control Groups\n--------------------------\n\nThere have recently been various proposals floating around for\nresource management/accounting and other task grouping subsystems in\nthe kernel, including ResGroups, User BeanCounters, NSProxy\ncgroups, and others.  These all need the basic abstraction of being\nable to group together multiple processes in an aggregate, in order to\ntrack/limit the resources permitted to those processes, or control\nother behaviour of the processes, and all implement this grouping in\ndifferent ways.\n\nThis patchset provides a framework for tracking and grouping processes\ninto arbitrary \"cgroups\" and assigning arbitrary state to those\ngroupings, in order to control the behaviour of the cgroup as an\naggregate.\n\nThe intention is that the various resource management and\nvirtualization/cgroup efforts can also become task cgroup\nclients, with the result that:\n\n- the userspace APIs are (somewhat) normalised\n\n- it\u0027s easier to test e.g. the ResGroups CPU controller in\n conjunction with the BeanCounters memory controller, or use either of\nthem as the resource-control portion of a virtual server system.\n\n- the additional kernel footprint of any of the competing resource\n management systems is substantially reduced, since it doesn\u0027t need\n to provide process grouping/containment, hence improving their\n chances of getting into the kernel\n\nThis patch:\n\nAdd the main task cgroups framework - the cgroup filesystem, and the\nbasic structures for tracking membership and associating subsystem state\nobjects to tasks.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62e6f1e8bb7c48c02b8bdb3085c5f6365682149b",
      "tree": "975277fdd906c173bf48bfbe0226b80bb0e14529",
      "parents": [
        "a1c582d0720f2eff61043e90711767decf37b917"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Fri Aug 31 04:26:50 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 30 21:54:31 2007 -0700"
      },
      "message": "fix maxcpus\u003d1 oops in show_stat()\n\nAlexey Dobriyan reports that maxcpus\u003d1 is still broken in 2.6.23-rc4:\nif CONFIG_HOTPLUG_CPU is not set, x86_64 bootup oopses in show_stat() -\nfor_each_possible_cpu accesses a per-cpu area which was never set up.\n\nAlexey identified commit 61ec7567db103d537329b0db9a887db570431ff4\n(ACPI: boot correctly with \"nosmp\" or \"maxcpus\u003d0\") as the origin;\nbut it\u0027s not really to blame, just exposes a bug in 2.6.23-rc1\u0027s commit\n8b3b295502444340dd0701855ac422fbf32e161d (Especially when !CONFIG_HOTPLUG_CPU,\navoid needlessy allocating resources for CPUs that can never become available).\n\nrc1\u0027s test for max_cpus \u003c 2 in start_kernel() wasn\u0027t working because\nmax_cpus was still NR_CPUS at that point: until rc4 moved the maxcpus\nparsing earlier.  Now it sets cpu_possible_map to 1 before allocating\nall possible per-cpu areas; then smp_init() expands cpu_possible_map\nto cpu_present_map (0xf in my case) later on.\n\nrc1\u0027s commit has good intentions, but expects cpu_present_map to be\nlimited by maxcpus, which is only the case on i386.  cpus_and(possible,\npossible,present) might be good, but needs an audit of cpu_present_map\nuses - there may well be assumptions that any cpu present is possible.\n\nSo stay safe for now and just revert those #ifndef CONFIG_HOTPLUG_CPU\noptimizations in rc1\u0027s commit.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "813409771731d80e6fa94199adf99f2269a4afc0",
      "tree": "d417127b47e1d1f7e8ebe1b09a11a4fa5c36fba1",
      "parents": [
        "88ede8209efd01b4a557ddd588875544954e170a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Aug 27 16:02:12 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Aug 27 10:27:48 2007 -0700"
      },
      "message": "fix maxcpus\u003dN parsing\n\nCommit 61ec7567db103d537329b0db9a887db570431ff4 (\u0027ACPI: boot correctly\nwith \"nosmp\" or \"maxcpus\u003d0\"\u0027) broke \u0027maxcpus\u003d\u0027 handling on x86[-64].\n\nmaxcpus\u003dN is now having no effect on x86_64, and freezing bootup on i386\n(because of inconsistency with the separate maxcpus parsing down in\narch/i386, I guess).  That\u0027s because early_param parsing is a little\ndifferent from __setup parsing, and needs the \"\u003d\" omitted: then it seems\nto work as the original commit intended (no mention of IO-APIC in\n/proc/interrupts when maxcpus\u003d0).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61ec7567db103d537329b0db9a887db570431ff4",
      "tree": "7287eb4bd00c09434fc2dd0babadfd0eb7ddc832",
      "parents": [
        "28e8351ac22de25034e048c680014ad824323c65"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Aug 16 03:34:22 2007 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Aug 21 00:33:35 2007 -0400"
      },
      "message": "ACPI: boot correctly with \"nosmp\" or \"maxcpus\u003d0\"\n\nIn MPS mode, \"nosmp\" and \"maxcpus\u003d0\" boot a UP kernel with IOAPIC disabled.\nHowever, in ACPI mode, these parameters didn\u0027t completely disable\nthe IO APIC initialization code and boot failed.\n\ninit/main.c:\n\tDisable the IO_APIC if \"nosmp\" or \"maxcpus\u003d0\"\n\tundefine disable_ioapic_setup() when it doesn\u0027t apply.\n\ni386:\n\tdelete ioapic_setup(), it was a duplicate of parse_noapic()\n\tdelete undefinition of disable_ioapic_setup()\n\nx86_64:\n\trename disable_ioapic_setup() to parse_noapic() to match i386\n\tdefine disable_ioapic_setup() in header to match i386\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d1641\n\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "8b3b295502444340dd0701855ac422fbf32e161d",
      "tree": "949accf30a7b8bf6a0ccd074a5a4b9f6115c1f7b",
      "parents": [
        "98c0d07cbf2a8582a0341b05ad564247e608f6f9"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jul 15 23:41:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "adjust nosmp handling\n\nEspecially when !CONFIG_HOTPLUG_CPU, avoid needlessy allocating resources for\nCPUs that can never become available.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97842216b8400fe9d1a20468959e2989180f8f79",
      "tree": "63d0d731e0e93d5ef9ac1a23734c60cd0f0664f2",
      "parents": [
        "ea5a3dcfda1c9140228f2842ea9b01e1713c559a"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jul 15 23:41:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "Allow softlockup to be runtime disabled\n\nIt\u0027s useful sometimes to disable the softlockup checker at boottime.\nEspecially if it triggers during a distro install.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18a8bd949d6adb311ea816125ff65050df1f3f6e",
      "tree": "4365db908430747a5c08cacdb4354577b7bfead7",
      "parents": [
        "b1c931e39327ef121797927d4b3198d370e75b9b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Sun Jul 15 23:37:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "serial: convert early_uart to earlycon for 8250\n\nBeacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and\ninclude/asm-x86_64/serial.h.  the serial8250_ports need to be probed late in\nserial initializing stage.  the console_init\u003d\u003eserial8250_console_init\u003d\u003e\nregister_console\u003d\u003eserial8250_console_setup will return -ENDEV, and console\nttyS0 can not be enabled at that time.  need to wait till uart_add_one_port in\ndrivers/serial/serial_core.c to call register_console to get console ttyS0.\nthat is too late.\n\nMake early_uart to use early_param, so uart console can be used earlier.  Make\nit to be bootconsole with CON_BOOT flag, so can use console handover feature.\nand it will switch to corresponding normal serial console automatically.\n\nnew command line will be:\n\tconsole\u003duart8250,io,0x3f8,9600n8\n\tconsole\u003duart8250,mmio,0xff5e0000,115200n8\nor\n\tearlycon\u003duart8250,io,0x3f8,9600n8\n\tearlycon\u003duart8250,mmio,0xff5e0000,115200n8\n\nit will print in very early stage:\n\tEarly serial console at I/O port 0x3f8 (options \u00279600n8\u0027)\n\tconsole [uart0] enabled\nlater for console it will print:\n\tconsole handover: boot [uart0] -\u003e real [ttyS0]\n\nSigned-off-by: \u003cyinghai.lu@sun.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1df21055e34b6a68d62cf0c524b9e52deebd7ead",
      "tree": "b3611a364b289340d6b5016eba9f53a37b6b1de2",
      "parents": [
        "4da1ce6d9c7e2a6d9236bf4dcfd33cf506082794"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: add init_idle_bootup_task()\n\nadd the init_idle_bootup_task() callback to the bootup thread,\nunused at the moment. (CFS will use it to switch the scheduling\nclass of the boot thread to the idle class)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92080309df1975729a9f8b45fd56528817e34db8",
      "tree": "f82ec2fb2b1d5fa68af807b6acb1b033c7a34e17",
      "parents": [
        "0e0d314e6a01bb14d303e35e6f7ba24b17020044"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu May 17 20:43:54 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat May 19 09:11:58 2007 +0200"
      },
      "message": "init/main: use __init_refok to fix section mismatch\n\nKill a special case in modpost by introducing the\n__init_refok marker.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "0e29b24aa6b3eb6c161cbb9e42fc20b47e67a7c6",
      "tree": "1278ef6ce9da5c3437624d4c02449c4662485f38",
      "parents": [
        "820e45db2380eb1545fa2bc5d34b8b2f2933faeb"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu May 10 22:23:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "Explicitly set pgid and sid of init process\n\nExplicitly set pgid and sid of init process to 1.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \u003ccontainers@lists.osdl.org\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73c279927f89561ecb45b2dfdf9314bafcfd9f67",
      "tree": "2186e28c92c6f8229ea20eb9856714186bf77a4c",
      "parents": [
        "c93465181fed0f8f5942a41108943dadea0aa345"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed May 09 02:34:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "kthread: don\u0027t depend on work queues\n\nCurrently there is a circular reference between work queue initialization\nand kthread initialization.  This prevents the kthread infrastructure from\ninitializing until after work queues have been initialized.\n\nWe want the properties of tasks created with kthread_create to be as close\nas possible to the init_task and to not be contaminated by user processes.\nThe later we start our kthreadd that creates these tasks the harder it is\nto avoid contamination from user processes and the more of a mess we have\nto clean up because the defaults have changed on us.\n\nSo this patch modifies the kthread support to not use work queues but to\ninstead use a simple list of structures, and to have kthreadd start from\ninit_task immediately after our kernel thread that execs /sbin/init.\n\nBy being a true child of init_task we only have to change those process\nsettings that we want to have different from init_task, such as our process\nname, the cpus that are allowed, blocking all signals and setting SIGCHLD\nto SIG_IGN so that all of our children are reaped automatically.\n\nBy being a true child of init_task we also naturally get our ppid set to 0\nand do not wind up as a child of PID \u003d\u003d 1.  Ensuring that tasks generated\nby kthread_create will not slow down the functioning of the wait family of\nfunctions.\n\n[akpm@linux-foundation.org: use interruptible sleeps]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f0c45cdf87dc9141e87b0ad2fc6fff216a95f79",
      "tree": "1940c1f08b9bc6e2429559ba19b71b725ad9524c",
      "parents": [
        "b73a7e76c1eeaa770a41554698917c3c45686a07"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 08 00:28:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "enhance initcall_debug, measure latency\n\nenhance the initcall_debug boot option:\n\n - measure the time the initcall took to execute and report\n   it in units of milliseconds.\n\n - show the return code of initcalls (useful to see failures and\n   to make sure that an initcall hung)\n\n[akpm@linux-foundation.org: fix printk warning]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46595390e97b3ab2741a36f5ff69e8f6033fa9c0",
      "tree": "911fb1bd59ecf260999eca19fad4534f719894da",
      "parents": [
        "b2ead6e012e2b2ab31851c288e0dd7872884a8a3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue May 08 00:24:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "init/do_mounts.c: proper prepare_namespace() prototype\n\nAdd a proper protype for prepare_namespace() in include/linux/init.h.\n\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": "476f35348eb8d2a827765992899fea78b7dcc46f",
      "tree": "81dbace9de3d4ffa3ecc67bffe265134962117bd",
      "parents": [
        "aee16b3cee2746880e40945a9b5bff4f309cfbc4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun May 06 14:48:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Safer nr_node_ids and nr_node_ids determination and initial values\n\nThe nr_cpu_ids value is currently only calculated in smp_init.  However, it\nmay be needed before (SLUB needs it on kmem_cache_init!) and other kernel\ncomponents may also want to allocate dynamically sized per cpu array before\nsmp_init.  So move the determination of possible cpus into sched_init()\nwhere we already loop over all possible cpus early in boot.\n\nAlso initialize both nr_node_ids and nr_cpu_ids with the highest value they\ncould take.  If we have accidental users before these values are determined\nthen the current valud of 0 may cause too small per cpu and per node arrays\nto be allocated.  If it is set to the maximum possible then we only waste\nsome memory for early boot users.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15700770ef7c5d12e2f1659d2ddbeb3f658d9f37",
      "tree": "7fa2f81c33c9efcb1a1568385beead75c5892cfb",
      "parents": [
        "6de410c2b0cc055ae9ee640c84331f6a70878d9b",
        "11de39e2fbbc592018e0a231d0ee773653dcc8d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:57 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)\n  kconfig: fix mconf segmentation fault\n  kbuild: enable use of code from a different dir\n  kconfig: error out if recursive dependencies are found\n  kbuild: scripts/basic/fixdep segfault on pathological string-o-death\n  kconfig: correct minor typo in Kconfig warning message.\n  kconfig: fix path to modules.txt in Kconfig help\n  usr/Kconfig: fix typo\n  kernel-doc: alphabetically-sorted entries in index.html of \u0027htmldocs\u0027\n  kbuild: be more explicit on missing .config file\n  kbuild: clarify the creation of the LOCALVERSION_AUTO string.\n  kbuild: propagate errors from find in scripts/gen_initramfs_list.sh\n  kconfig: refer to qt3 if we cannot find qt libraries\n  kbuild: handle compressed cpio initramfs-es\n  kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text\n  kbuild: remove stale comment in modpost.c\n  kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE\n  kbuild: fix make mrproper for Documentation/DocBook/man\n  kbuild: remove kconfig binaries during make mrproper\n  kconfig/menuconfig: do not hardcode \u0027.config\u0027\n  kbuild: override build timestamp \u0026 version\n  ...\n"
    },
    {
      "commit": "aae5f662a32c35b1a962627535acb588d48ff5f9",
      "tree": "6e300ed8557e850e350c95dffb57ff9d5d5b182d",
      "parents": [
        "85bd2fddd68e757da8e1af98f857f61a3c9ce647"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Feb 26 16:45:41 2007 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed May 02 20:58:07 2007 +0200"
      },
      "message": "kbuild: whitelist section mismatch in init/main.c\n\nIn init/main.c we have a reference from rest_init() to .init.text\nwhich is intentional.\nRename the function \u0027init\u0027 to \u0027kernel_init\u0027 to make it a\nkernel wide unique symbol and whitelist the reference.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "b6e3590f8145c77b8fcef3247e2412335221412f",
      "tree": "47fb1a28e41fd9f4e1aef45b5482b69b8d7c154e",
      "parents": [
        "de90c5ce832b1218042316260ff9268b00fdcba3"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] x86: Allow percpu variables to be page-aligned\n\nLet\u0027s allow page-alignment in general for per-cpu data (wanted by Xen, and\nIngo suggested KVM as well).\n\nBecause larger alignments can use more room, we increase the max per-cpu\nmemory to 64k rather than 32k: it\u0027s getting a little tight.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@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": "6168a702ab0be181e5e57a0b2d0e7376f7a47f0b",
      "tree": "4eaecb660154bb36b3884b21bf335ff040559902",
      "parents": [
        "a6e6df25ec6751f4f73784398ab7d43cf9d2019f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Feb 17 21:22:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 14:21:50 2007 -0800"
      },
      "message": "[PATCH] Declare init_irq_proc before we use it.\n\npowerpc gets:\n\ninit/main.c: In function `do_basic_setup\u0027:\ninit/main.c:714: warning: implicit declaration of function `init_irq_proc\u0027\n\nbut we cannot include linux/irq.h in generic code.\n\nFix it by moving the declaration into linux/interrupt.h instead.\n\nAnd make sure all code that defines init_irq_proc() is including\nlinux/interrupt.h.\n\nAnd nuke an ifdef-in-C\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "906568c9c668ff994f4078932ec6ae1e3950d1af",
      "tree": "825ac33fc61af55a0fe7485a1df681f5a6126d7b",
      "parents": [
        "d316c57ff6bfad9557462b9100f25c6260d2b774"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] tick-management: core functionality\n\nWith Ingo Molnar \u003cmingo@elte.hu\u003e\n\nThe tick-management code is the first user of the clockevents layer.  It takes\nclock event devices from the clock events core and uses them to provide the\nperiodic tick.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "414f827c46973ba39320cfb43feb55a0eeb9b4e8",
      "tree": "45e860974ef698e71370a0ebdddcff4f14fbdf9e",
      "parents": [
        "86a71dbd3e81e8870d0f0e56b87875f57e58222b",
        "126b1922367fbe5513daa675a2abd13ed3917f4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 09:46:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 09:46:06 2007 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (94 commits)\n  [PATCH] x86-64: Remove mk_pte_phys()\n  [PATCH] i386: Fix broken CONFIG_COMPAT_VDSO on i386\n  [PATCH] i386: fix 32-bit ioctls on x64_32\n  [PATCH] x86: Unify pcspeaker platform device code between i386/x86-64\n  [PATCH] i386: Remove extern declaration from mm/discontig.c, put in header.\n  [PATCH] i386: Rename cpu_gdt_descr and remove extern declaration from smpboot.c\n  [PATCH] i386: Move mce_disabled to asm/mce.h\n  [PATCH] i386: paravirt unhandled fallthrough\n  [PATCH] x86_64: Wire up compat epoll_pwait\n  [PATCH] x86: Don\u0027t require the vDSO for handling a.out signals\n  [PATCH] i386: Fix Cyrix MediaGX detection\n  [PATCH] i386: Fix warning in cpu initialization\n  [PATCH] i386: Fix warning in microcode.c\n  [PATCH] x86: Enable NMI watchdog for AMD Family 0x10 CPUs\n  [PATCH] x86: Add new CPUID bits for AMD Family 10 CPUs in /proc/cpuinfo\n  [PATCH] i386: Remove fastcall in paravirt.[ch]\n  [PATCH] x86-64: Fix wrong gcc check in bitops.h\n  [PATCH] x86-64: survive having no irq mapping for a vector\n  [PATCH] i386: geode configuration fixes\n  [PATCH] i386: add option to show more code in oops reports\n  ...\n"
    },
    {
      "commit": "77b14db502cb85a031fe8fde6c85d52f3e0acb63",
      "tree": "4201f6a4dfe1062d1dc00659c403d630401b87cc",
      "parents": [
        "1ff007eb8e8c7c44e9a384a67d0fdd0fd06ba811"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:10:00 2007 -0800"
      },
      "message": "[PATCH] sysctl: reimplement the sysctl proc support\n\nWith this change the sysctl inodes can be cached and nothing needs to be done\nwhen removing a sysctl table.\n\nFor a cost of 2K code we will save about 4K of static tables (when we remove\nde from ctl_table) and 70K in proc_dir_entries that we will not allocate, or\nabout half that on a 32bit arch.\n\nThe speed feels about the same, even though we can now cache the sysctl\ndentries :(\n\nWe get the core advantage that we don\u0027t need to have a 1 to 1 mapping between\nctl table entries and proc files.  Making it possible to have /proc/sys vary\ndepending on the namespace you are in.  The currently merged namespaces don\u0027t\nhave an issue here but the network namespace under /proc/sys/net needs to have\ndifferent directories depending on which network adapters are visible.  By\nsimply being a cache different directories being visible depending on who you\nare is trivial to implement.\n\n[akpm@osdl.org: fix uninitialised var]\n[akpm@osdl.org: fix ARM build]\n[bunk@stusta.de: make things static]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b04c3afb2b6e2f902b41bb62b73684d92d7e6c34",
      "tree": "00b164435ec9c9226659852c784e7e0a8c94c8e9",
      "parents": [
        "0e03036c97b70b2602f7dedaa3a223ed7563c2c9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:33:57 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:58 2007 -0800"
      },
      "message": "[PATCH] sysctl: move init_irq_proc into init/main where it belongs\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee5bfa642a0d4b0f6ec6200bf96e5e647f93fcdb",
      "tree": "ed348c3f5d940b211919bc5191cfea5ea1b5a6fa",
      "parents": [
        "f8657e1b55901e6c227094258d1fa3642fa242bd"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Tue Feb 13 13:26:22 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Feb 13 13:26:22 2007 +0100"
      },
      "message": "[PATCH] generic: Break init() in two parts to avoid MODPOST warnings\n\no init() is a non __init function in .text section but it calls many\n  functions which are in .init.text section. Hence MODPOST generates lots\n  of cross reference warnings on i386 if compiled with CONFIG_RELOCATABLE\u003dy\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:smp_prepare_cpus from .text between \u0027init\u0027 (at offset 0xc0101049) and \u0027rest_init\u0027\nWARNING: vmlinux - Section mismatch: reference to .init.text:migration_init from .text between \u0027init\u0027 (at offset 0xc010104e) and \u0027rest_init\u0027\nWARNING: vmlinux - Section mismatch: reference to .init.text:spawn_ksoftirqd from .text between \u0027init\u0027 (at offset 0xc0101053) and \u0027rest_init\u0027\n\no This patch breaks down init() in two parts. One part which can go\n  in .init.text section and can be freed and other part which has to\n  be non __init(init_post()). Now init() calls init_post() and init_post()\n  does not call any functions present in .init sections. Hence getting\n  rid of warnings.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "30d7e0d466b3ac0b5ef77e4062bf9385f0d72270",
      "tree": "cff57621e9e5b8898abb2982ec3b0b7d0e6eac88",
      "parents": [
        "ff91691bccdb741efb2df0489058a4961fa79598"
      ],
      "author": {
        "name": "Alon Bar-Lev",
        "email": "alon.barlev@gmail.com",
        "time": "Mon Feb 12 00:53:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] Dynamic kernel command-line: common\n\nCurrent implementation stores a static command-line buffer allocated to\nCOMMAND_LINE_SIZE size.  Most architectures stores two copies of this buffer,\none for future reference and one for parameter parsing.\n\nCurrent kernel command-line size for most architecture is much too small for\nmodule parameters, video settings, initramfs paramters and much more.  The\nproblem is that setting COMMAND_LINE_SIZE to a grater value, allocates static\nbuffers.\n\nIn order to allow a greater command-line size, these buffers should be\ndynamically allocated or marked as init disposable buffers, so unused memory\ncan be released.\n\nThis patch renames the static saved_command_line variable into\nboot_command_line adding __initdata attribute, so that it can be disposed\nafter initialization.  This rename is required so applications that use\nsaved_command_line will not be affected by this change.\n\nIt reintroduces saved_command_line as dynamically allocated buffer to match\nthe data in boot_command_line.\n\nIt also mark secondary command-line buffer as __initdata, and copies it to\ndynamically allocated static_command_line buffer components may hold reference\nto it after initialization.\n\nThis patch is for linux-2.6.20-rc4-mm1 and is divided to target each\narchitecture.  I could not check this in any architecture so please forgive me\nif I got it wrong.\n\nThe per-architecture modification is very simple, use boot_command_line in\nplace of saved_command_line.  The common code is the change into dynamic\ncommand-line.\n\nThis patch:\n\n1. Rename saved_command_line into boot_command_line, mark as init\n   disposable.\n\n2. Add dynamic allocated saved_command_line.\n\n3. Add dynamic allocated static_command_line.\n\n4. During startup copy: boot_command_line into saved_command_line.  arch\n   command_line into static_command_line.\n\n5. Parse static_command_line and not arch command_line, so arch\n   command_line may be freed.\n\nSigned-off-by: Alon Bar-Lev \u003calon.barlev@gmail.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "842f968f3fcdc475c95ec76a03b29c5147e87b54",
      "tree": "21da608e07cc73a55ffb7a5371f3cd8b36a7d56e",
      "parents": [
        "72ed3d035855841ad611ee48b20909e9619d4a79"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:46:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:05 2007 -0800"
      },
      "message": "[PATCH] Remove final reference to superfluous smp_commence()\n\nRemove the last (and commented out) invocation of the obsolete\nsmp_commence() call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88d20328cd66ee05f9b7f4d414640700db69d82b",
      "tree": "07c4f8c8593acf36e3e1687a861f97cc3eff6c34",
      "parents": [
        "0e0be25d31f75f64b6fbe00f0b4e5d6b1ad1438e"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Thu Jan 11 01:52:44 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Jan 11 01:52:44 2007 +0100"
      },
      "message": "[PATCH] i386: Convert some functions to __init to avoid MODPOST warnings\n\no Some functions which should have been in init sections as they are called\n  only once. Put them in init sections. Otherwise MODPOST generates warning\n  as these functions are placed in .text and they end up accessing something\n  in init sections.\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:migration_init\nfrom .text between \u0027do_pre_smp_initcalls\u0027 (at offset 0xc01000d1) and\n\u0027run_init_process\u0027\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3eb3c740f51c2126b53c2dde974c1c57e634aa7b",
      "tree": "bbc9a1152685d8ed97f231e4ff161d01d58f0fe2",
      "parents": [
        "8edf51a5ee38eb40de5449e131fd36450a229430"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Jan 10 14:45:28 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Jan 10 09:33:59 2007 -0800"
      },
      "message": "[PATCH] fix linux banner format string\n\nRevert previous attempts at messing with the linux banner string and\nsimply use a separate format string for proc.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Olaf Hering \u003colaf@aepfle.de\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c4a68306b9c0939b3facdad2cc5e34d660ff463a",
      "tree": "cd4479ae882bb52b00d71f85956ba8e1d0fdc03b",
      "parents": [
        "34f1ca540679f61a02b7406f036d9edde9717ee2"
      ],
      "author": {
        "name": "Ard van Breemen",
        "email": "ard@telegraafnet.nl",
        "time": "Fri Jan 05 16:36:19 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:21 2007 -0800"
      },
      "message": "[PATCH] start_kernel: test if irq\u0027s got enabled early, barf, and disable them again\n\nThe calls made by parse_parms to other initialization code might enable\ninterrupts again way too early.\n\nHaving interrupts on this early can make systems PANIC when they initialize\nthe IRQ controllers (which happens later in the code).  This patch detects\nthat irq\u0027s are enabled again, barfs about it and disables them again as a\nsafety net.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Ard van Breemen \u003card@telegraafnet.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1f21782e63da81f56401a813a52091ef2703838f",
      "tree": "8a01f16d84fe3ec10182d4f8b987f1c7beecd414",
      "parents": [
        "542cfce6f36e8c43f71ae9c235b78497f350ae55"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Dec 19 13:01:28 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 20 10:56:45 2006 -0800"
      },
      "message": "Driver core: proper prototype for drivers/base/init.c:driver_init()\n\nAdd a prototype for driver_init() in include/linux/device.h.\n\nAlso remove a static function of the same name in drivers/acpi/ibm_acpi.c to\nibm_acpi_driver_init() to fix the namespace collision.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8d610dd52dd1da696e199e4b4545f33a2a5de5c6",
      "tree": "8b2eee4dac34ff5f1374225ccba3fedb8432b579",
      "parents": [
        "8993780a6e44fb4e7ed34e33458506a775356c6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Dec 11 12:12:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Dec 11 12:12:04 2006 -0800"
      },
      "message": "Make sure we populate the initroot filesystem late enough\n\nWe should not initialize rootfs before all the core initializers have\nrun.  So do it as a separate stage just before starting the regular\ndriver initializers.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8993780a6e44fb4e7ed34e33458506a775356c6e",
      "tree": "afa29f461ab5873eb8270d1b077b927feac1a9a7",
      "parents": [
        "9202f32558601c2c99ddc438eb3218131d00d413"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Dec 11 09:28:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Mon Dec 11 11:34:11 2006 -0800"
      },
      "message": "Make SLES9 \"get_kernel_version\" work on the kernel binary again\n\nAs reported by Andy Whitcroft, at least the SLES9 initrd build process\ndepends on getting the kernel version from the kernel binary.  It does\nthat by simply trawling the binary and looking for the signature of the\n\"linux_banner\" string (the string \"Linux version \" to be exact. Which\nis really broken in itself, but whatever..)\n\nThat got broken when the string was changed to allow /proc/version to\nchange the UTS release information dynamically, and \"get_kernel_version\"\nthus returned \"%s\" (see commit a2ee8649ba6d71416712e798276bf7c40b64e6e5:\n\"[PATCH] Fix linux banner utsname information\").\n\nThis just restores \"linux_banner\" as a static string, which should fix\nthe version finding.  And /proc/version simply uses a different string.\n\nTo avoid wasting even that miniscule amount of memory, the early boot\nstring should really be marked __initdata, but that just causes the same\nbug in SLES9 to re-appear, since it will then find other occurrences of\n\"Linux version \" first.\n\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nAcked-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Steve Fox \u003cdrfickle@us.ibm.com\u003e\nAcked-by: Olaf Hering \u003colaf@aepfle.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84d737866e2babdeab0c6b18ea155c6a649663b8",
      "tree": "e504da826174c2804d8c680828800aa680090686",
      "parents": [
        "6cc1b22a4acef3816eaa5f8c227d93d749b23195"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Fri Dec 08 02:38:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:52 2006 -0800"
      },
      "message": "[PATCH] add child reaper to pid_namespace\n\nAdd a per pid_namespace child-reaper.  This is needed so processes are reaped\nwithin the same pid space and do not spill over to the parent pid space.  Its\nalso needed so containers preserve existing semantic that pid \u003d\u003d 1 would reap\norphaned children.\n\nThis is based on Eric Biederman\u0027s patch: http://lkml.org/lkml/2006/2/6/285\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a2ee8649ba6d71416712e798276bf7c40b64e6e5",
      "tree": "90603c28d717fc0b2e92adb7e3f3a98adf6ae458",
      "parents": [
        "6e2ac66470976ad7f57e0948572669b2bdfea2d0"
      ],
      "author": {
        "name": "Herbert Poetzl",
        "email": "herbert@13thfloor.at",
        "time": "Fri Dec 08 02:36:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:37 2006 -0800"
      },
      "message": "[PATCH] Fix linux banner utsname information\n\nutsname information is shown in the linux banner, which also is used for\n/proc/version (which can have different utsname values inside a uts\nnamespaces).  this patch makes the varying data arguments and changes the\nstring to a format string, using those arguments.\n\nSigned-off-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4522d58275f124105819723e24e912c8e5bf3cdd",
      "tree": "b92c29014fadffe049c1925676037f0092b8d112",
      "parents": [
        "6cf24f031bc97cb5a7c9df3b6e73c45b628b2b28",
        "64a26a731235b59c9d73bbe82c1f896d57400d37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:59:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:59:11 2006 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (156 commits)\n  [PATCH] x86-64: Export smp_call_function_single\n  [PATCH] i386: Clean up smp_tune_scheduling()\n  [PATCH] unwinder: move .eh_frame to RODATA\n  [PATCH] unwinder: fully support linker generated .eh_frame_hdr section\n  [PATCH] x86-64: don\u0027t use set_irq_regs()\n  [PATCH] x86-64: check vector in setup_ioapic_dest to verify if need setup_IO_APIC_irq\n  [PATCH] x86-64: Make ix86 default to HIGHMEM4G instead of NOHIGHMEM\n  [PATCH] i386: replace kmalloc+memset with kzalloc\n  [PATCH] x86-64: remove remaining pc98 code\n  [PATCH] x86-64: remove unused variable\n  [PATCH] x86-64: Fix constraints in atomic_add_return()\n  [PATCH] x86-64: fix asm constraints in i386 atomic_add_return\n  [PATCH] x86-64: Correct documentation for bzImage protocol v2.05\n  [PATCH] x86-64: replace kmalloc+memset with kzalloc in MTRR code\n  [PATCH] x86-64: Fix numaq build error\n  [PATCH] x86-64: include/asm-x86_64/cpufeature.h isn\u0027t a userspace header\n  [PATCH] unwinder: Add debugging output to the Dwarf2 unwinder\n  [PATCH] x86-64: Clarify error message in GART code\n  [PATCH] x86-64: Fix interrupt race in idle callback (3rd try)\n  [PATCH] x86-64: Remove unwind stack pointer alignment forcing again\n  ...\n\nFixed conflict in include/linux/uaccess.h manually\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1a60dbf68061e5a5364cbc723786b355637ffd3",
      "tree": "aa7f94e27e7fe110e2729ef1202b486442d1caa8",
      "parents": [
        "a4ed06ad83acc3b7dafc018bc0b27469e787e27d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:39:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] gcc-4.1.0 is bust\n\nKeith says\n\nCompiling 2.6.19-rc6 with gcc version 4.1.0 (SUSE Linux), wait_hpet_tick is\noptimized away to a never ending loop and the kernel hangs on boot in timer\nsetup.\n\n0000001a \u003cwait_hpet_tick\u003e:\n  1a:   55                      push   %ebp\n  1b:   89 e5                   mov    %esp,%ebp\n  1d:   eb fe                   jmp    1d \u003cwait_hpet_tick+0x3\u003e\n\nThis is not a problem with gcc 3.3.5.  Adding barrier() calls to\nwait_hpet_tick does not help, making the variables volatile does.\n\nAnd the consensus is that gcc-4.1.0 is busted.  Suse went and shipped\ngcc-4.1.0 so we cannot ban it.  Add a warning.\n\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d7cd56111f30259e1b532a12e06f59f8e0a20355",
      "tree": "760e9548511ba30cf095f1873bcc9e301a89fa92",
      "parents": [
        "139ec7c416248b9ea227d21839235344edfee1e0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 07 02:14:08 2006 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Dec 07 02:14:08 2006 +0100"
      },
      "message": "[PATCH] i386: cpu_detect extraction\n\nBoth lhype and Xen want to call the core of the x86 cpu detect code before\ncalling start_kernel.\n\n(extracted from larger patch)\n\nAK: folded in start_kernel header patch\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "690a973f48b6ba2954465992c08e65059c8374fe",
      "tree": "b30a59496628592233944b3f4340cdfdf9d3d5de",
      "parents": [
        "cdfce1f5714fec7b24715f569b2fee1607350a6d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sat Oct 21 18:37:01 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Sat Oct 21 18:37:01 2006 +0200"
      },
      "message": "[PATCH] x86-64: Speed up dwarf2 unwinder\n\nThis changes the dwarf2 unwinder to do a binary search for CIEs\ninstead of a linear work. The linker is unfortunately not\nable to build a proper lookup table at link time, instead it creates\none at runtime as soon as the bootmem allocator is usable (so you\u0027ll continue\nusing the linear lookup for the first [hopefully] few calls).\nThe code should be ready to utilize a build-time created table once\na fixed linker becomes available.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9ec52099e4b8678a60e9f93e41ad87885d64f3e6",
      "tree": "a68fe051b39f8f8e8be469cbd3c2f653b9b71a9d",
      "parents": [
        "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Mon Oct 02 02:19:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] replace cad_pid by a struct pid\n\nThere are a few places in the kernel where the init task is signaled.  The\nctrl+alt+del sequence is one them.  It kills a task, usually init, using a\ncached pid (cad_pid).\n\nThis patch replaces the pid_t by a struct pid to avoid pid wrap around\nproblem.  The struct pid is initialized at boot time in init() and can be\nmodified through systctl with\n\n\t/proc/sys/kernel/cad_pid\n\n[ I haven\u0027t found any distro using it ? ]\n\nIt also introduces a small helper routine kill_cad_pid() which is used\nwhere it seemed ok to use cad_pid instead of pid 1.\n\n[akpm@osdl.org: cleanups, build fix]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6760856791c6e527da678021ee6a67896549d4da",
      "tree": "31bf78dac3a2ea68282ae394aeedb15bc92ae7d7",
      "parents": [
        "2453a3062d36f39f01302f9f1ad18e7a0c54fe38"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 02 02:18:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:23 2006 -0700"
      },
      "message": "[PATCH] introduce kernel_execve\n\nThe use of execve() in the kernel is dubious, since it relies on the\n__KERNEL_SYSCALLS__ mechanism that stores the result in a global errno\nvariable.  As a first step of getting rid of this, change all users to a\nglobal kernel_execve function that returns a proper error code.\n\nThis function is a terrible hack, and a later patch removes it again after the\nkernel syscalls are gone.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e96287ddc4f42081e18248b6167041c0908004c",
      "tree": "6c890798c6c7093c74e3c44324d29ae99fade24f",
      "parents": [
        "bcdc5e019d9f525a9f181a7de642d3a9c27c7610"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed Sep 27 01:50:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:17 2006 -0700"
      },
      "message": "[PATCH] kdump: introduce \"reset_devices\" command line option\n\nResetting the devices during driver initialization can be a costly\noperation in terms of time (especially scsi devices).  This option can be\nused by drivers to know that user forcibly wants the devices to be reset\nduring initialization.\n\nThis option can be useful while kernel is booting in unreliable\nenvironment.  For ex.  during kdump boot where devices are in unknown\nrandom state and BIOS execution has been skipped.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9538ed49272fb244ac06ba643ff076a68a77e12",
      "tree": "c720082e74ffbac1c29d88c21754d7605fe8e9b1",
      "parents": [
        "b7f5e3c7742d5332b78b831131f43fc3630e6322"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:34 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:34 2006 +0200"
      },
      "message": "[PATCH] Move unwind_init earlier\n\nNeeded for use of the unwinder in lockdep, because lockdep runs really\nearly too.\n\nCc: jbeulich@novell.com\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "33df0d19ea425d28bd5afb48898af32237fe81af",
      "tree": "98305a70ad02fd680fd1bb21eedb08c51df17823",
      "parents": [
        "9ca33eb6981549c0d1b7aea7f99f1ba602161356"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Sep 26 10:52:32 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:32 2006 +0200"
      },
      "message": "[PATCH] Allow early_param and identical __setup to exist\n\nWe currently assume that boot parameters which are handled by\nearly_param() will not overlap boot parameters handled by __setup: if\nthey do, behaviour is dependent on link order, usually meaning __setup\nwill not get called.\n\nACPI wants to use early_param(\"pci\"), and pci uses __setup(\"pci\u003d\"), so\nwe modify the core to let them coexist: \"pci\u003dnoacpi\" will now get\npassed to both.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c757249af152c59fd74b85e52e8c090acb33d9c0",
      "tree": "78495f661fe537bf5087b24e6577659de8725b5a",
      "parents": [
        "fb0ba6bd021248b6bdc58a7b1213a55a6776a38a"
      ],
      "author": {
        "name": "Shailabh Nagar",
        "email": "nagar@watson.ibm.com",
        "time": "Fri Jul 14 00:24:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:56 2006 -0700"
      },
      "message": "[PATCH] per-task-delay-accounting: taskstats interface\n\nCreate a \"taskstats\" interface based on generic netlink (NETLINK_GENERIC\nfamily), for getting statistics of tasks and thread groups during their\nlifetime and when they exit.  The interface is intended for use by multiple\naccounting packages though it is being created in the context of delay\naccounting.\n\nThis patch creates the interface without populating the fields of the data\nthat is sent to the user in response to a command or upon the exit of a task.\nEach accounting package interested in using taskstats has to provide an\nadditional patch to add its stats to the common structure.\n\n[akpm@osdl.org: cleanups, Kconfig fix]\nSigned-off-by: Shailabh Nagar \u003cnagar@us.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Peter Chubb \u003cpeterc@gelato.unsw.edu.au\u003e\nCc: Erich Focht \u003cefocht@ess.nec.de\u003e\nCc: Levent Serinol \u003clserinol@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ca74e92b4698276b6696f15a801759f50944f387",
      "tree": "26f0de66d8207608e07ee22389bfc173e773c0c2",
      "parents": [
        "e8f4d97e1b58b50ad6449bb2d35e6632c0236abd"
      ],
      "author": {
        "name": "Shailabh Nagar",
        "email": "nagar@watson.ibm.com",
        "time": "Fri Jul 14 00:24:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:56 2006 -0700"
      },
      "message": "[PATCH] per-task-delay-accounting: setup\n\nInitialization code related to collection of per-task \"delay\" statistics which\nmeasure how long it had to wait for cpu, sync block io, swapping etc.  The\ncollection of statistics and the interface are in other patches.  This patch\nsets up the data structures and allows the statistics collection to be\ndisabled through a kernel boot parameter.\n\nSigned-off-by: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Peter Chubb \u003cpeterc@gelato.unsw.edu.au\u003e\nCc: Erich Focht \u003cefocht@ess.nec.de\u003e\nCc: Levent Serinol \u003clserinol@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "243c7621aac4ed1aa79524c9a1cecf7c05a28124",
      "tree": "d8f7a1fce57c9349183bfd9ab6738a763078db85",
      "parents": [
        "8b8f319fc7f4ab59f567d6a401a62659b3d37007"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:06 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate genirq\n\nTeach special (recursive) locking code to the lock validator.  Has no effect\non non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbb9ce9530fd9b66096d5187fa6a115d16d9746c",
      "tree": "1151a55e5d56045bac17b9766e6a4696cff0a26f",
      "parents": [
        "cae2ed9aa573415c6e5de9a09b7ff0d74af793bc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:03 2006 -0700"
      },
      "message": "[PATCH] lockdep: core\n\nDo \u0027make oldconfig\u0027 and accept all the defaults for new config options -\nreboot into the kernel and if everything goes well it should boot up fine and\nyou should have /proc/lockdep and /proc/lockdep_stats files.\n\nTypically if the lock validator finds some problem it will print out\nvoluminous debug output that begins with \"BUG: ...\" and which syslog output\ncan be used by kernel developers to figure out the precise locking scenario.\n\nWhat does the lock validator do?  It \"observes\" and maps all locking rules as\nthey occur dynamically (as triggered by the kernel\u0027s natural use of spinlocks,\nrwlocks, mutexes and rwsems).  Whenever the lock validator subsystem detects a\nnew locking scenario, it validates this new rule against the existing set of\nrules.  If this new rule is consistent with the existing set of rules then the\nnew rule is added transparently and the kernel continues as normal.  If the\nnew rule could create a deadlock scenario then this condition is printed out.\n\nWhen determining validity of locking, all possible \"deadlock scenarios\" are\nconsidered: assuming arbitrary number of CPUs, arbitrary irq context and task\ncontext constellations, running arbitrary combinations of all the existing\nlocking scenarios.  In a typical system this means millions of separate\nscenarios.  This is why we call it a \"locking correctness\" validator - for all\nrules that are observed the lock validator proves it with mathematical\ncertainty that a deadlock could not occur (assuming that the lock validator\nimplementation itself is correct and its internal data structures are not\ncorrupted by some other kernel subsystem).  [see more details and conditionals\nof this statement in include/linux/lockdep.h and\nDocumentation/lockdep-design.txt]\n\nFurthermore, this \"all possible scenarios\" property of the validator also\nenables the finding of complex, highly unlikely multi-CPU multi-context races\nvia single single-context rules, increasing the likelyhood of finding bugs\ndrastically.  In practical terms: the lock validator already found a bug in\nthe upstream kernel that could only occur on systems with 3 or more CPUs, and\nwhich needed 3 very unlikely code sequences to occur at once on the 3 CPUs.\nThat bug was found and reported on a single-CPU system (!).  So in essence a\nrace will be found \"piecemail-wise\", triggering all the necessary components\nfor the race, without having to reproduce the race scenario itself!  In its\nshort existence the lock validator found and reported many bugs before they\nactually caused a real deadlock.\n\nTo further increase the efficiency of the validator, the mapping is not per\n\"lock instance\", but per \"lock-class\".  For example, all struct inode objects\nin the kernel have inode-\u003einotify_mutex.  If there are 10,000 inodes cached,\nthen there are 10,000 lock objects.  But -\u003einotify_mutex is a single \"lock\ntype\", and all locking activities that occur against -\u003einotify_mutex are\n\"unified\" into this single lock-class.  The advantage of the lock-class\napproach is that all historical -\u003einotify_mutex uses are mapped into a single\n(and as narrow as possible) set of locking rules - regardless of how many\ndifferent tasks or inode structures it took to build this set of rules.  The\nset of rules persist during the lifetime of the kernel.\n\nTo see the rough magnitude of checking that the lock validator does, here\u0027s a\nportion of /proc/lockdep_stats, fresh after bootup:\n\n lock-classes:                            694 [max: 2048]\n direct dependencies:                  1598 [max: 8192]\n indirect dependencies:               17896\n all direct dependencies:             16206\n dependency chains:                    1910 [max: 8192]\n in-hardirq chains:                      17\n in-softirq chains:                     105\n in-process chains:                    1065\n stack-trace entries:                 38761 [max: 131072]\n combined max dependencies:         2033928\n hardirq-safe locks:                     24\n hardirq-unsafe locks:                  176\n softirq-safe locks:                     53\n softirq-unsafe locks:                  137\n irq-safe locks:                         59\n irq-unsafe locks:                      176\n\nThe lock validator has observed 1598 actual single-thread locking patterns,\nand has validated all possible 2033928 distinct locking scenarios.\n\nMore details about the design of the lock validator can be found in\nDocumentation/lockdep-design.txt, which can also found at:\n\n   http://redhat.com/~mingo/lockdep-patches/lockdep-design.txt\n\n[bunk@stusta.de: cleanups]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\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": "9a11b49a805665e13a56aa067afaf81d43ec1514",
      "tree": "bf499956e3f67d1211d68ab1e2eb76645f453dfb",
      "parents": [
        "fb7e42413a098cc45b3adf858da290033af62bae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: better lock debugging\n\nGeneric lock debugging:\n\n - generalized lock debugging framework. For example, a bug in one lock\n   subsystem turns off debugging in all lock subsystems.\n\n - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from\n   the mutex/rtmutex debugging code: it caused way too much prototype\n   hackery, and lockdep will give the same information anyway.\n\n - ability to do silent tests\n\n - check lock freeing in vfree too.\n\n - more finegrained debugging options, to allow distributions to\n   turn off more expensive debugging features.\n\nThere\u0027s no separate \u0027held mutexes\u0027 list anymore - but there\u0027s a \u0027held locks\u0027\nstack within lockdep, which unifies deadlock detection across all lock\nclasses.  (this is independent of the lockdep validation stuff - lockdep first\nchecks whether we are holding a lock already)\n\nHere are the current debugging options:\n\nCONFIG_DEBUG_MUTEXES\u003dy\nCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\nwhich do:\n\n config DEBUG_MUTEXES\n          bool \"Mutex debugging, basic checks\"\n\n config DEBUG_LOCK_ALLOC\n         bool \"Detect incorrect freeing of live mutexes\"\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93e028148fce0be9787de7fb097fa4c8582b78c1",
      "tree": "3cc4859695f08a54a80bd473e466778474c86522",
      "parents": [
        "3e541a4ae534a7e59ad464af9abea382b3035724"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Jul 03 00:24:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:00 2006 -0700"
      },
      "message": "[PATCH] lockdep: console_init after local_irq_enable()\n\ns390\u0027s console_init must enable interrupts, but early_boot_irqs_on() gets\ncalled later.  To avoid problems move console_init() after local_irq_enable().\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "88fecaa27f398d95db6c405a1908292c6f0bc3ef",
      "tree": "0789e3b19fa5529229ad5b3936636973a383ca99",
      "parents": [
        "29454dde27d8e340bb1987bad9aa504af7081eba"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jul 03 00:24:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:26:58 2006 -0700"
      },
      "message": "[PATCH] time initialisation fix\n\nWe\u0027re not reay to take a timer interrupt until timekeeping_init() has run.\nBut time_init() will start the time interrupt and if it is called with\nlocal interrupts enabled we\u0027ll immediately take an interrupt and die.\n\nFix that by running timekeeping_init() prior to time_init().\n\nWe don\u0027t know _why_ local interrupts got enabled on Jesse Brandeburg\u0027s\nmachine.  That\u0027s a separate as-yet-unsolved problem.  THe patch adds a little\nbit of debugging to detect that.\n\nThis whole requirement that local interrupts be held off during early boot\nkeeps on biting us.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Jesse Brandeburg \u003cjesse.brandeburg@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22a3e233ca08a2ddc949ba1ae8f6e16ec7ef1a13",
      "tree": "7ef158ba2c30e0dde2dc103d1904fae243759a6b",
      "parents": [
        "39302175c26d74be35715c05a0f342c9e64c21bf",
        "6ab3d5624e172c553004ecc862bfeac16d9d68b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  Remove obsolete #include \u003clinux/config.h\u003e\n  remove obsolete swsusp_encrypt\n  arch/arm26/Kconfig typos\n  Documentation/IPMI typos\n  Kconfig: Typos in net/sched/Kconfig\n  v9fs: do not include linux/version.h\n  Documentation/DocBook/mtdnand.tmpl: typo fixes\n  typo fixes: specfic -\u003e specific\n  typo fixes in Documentation/networking/pktgen.txt\n  typo fixes: occuring -\u003e occurring\n  typo fixes: infomation -\u003e information\n  typo fixes: disadvantadge -\u003e disadvantage\n  typo fixes: aquire -\u003e acquire\n  typo fixes: mecanism -\u003e mechanism\n  typo fixes: bandwith -\u003e bandwidth\n  fix a typo in the RTC_CLASS help text\n  smb is no longer maintained\n\nManually merged trivial conflict in arch/um/kernel/vmlinux.lds.S\n"
    },
    {
      "commit": "033ab7f8e5c655f49ec8039930b2efd412abbbd7",
      "tree": "33fd8073e47d88731380d97be8ecdbdbd69b459e",
      "parents": [
        "a1836a42daf5ddfe9a891973734bd9a7d62eb504"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 30 01:55:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:37 2006 -0700"
      },
      "message": "[PATCH] add smp_setup_processor_id()\n\nPresently, smp_processor_id() isn\u0027t necessarily set up until setup_arch().\nBut it\u0027s used in boot_cpu_init() and printk() and perhaps in other places,\nprior to setup_arch() being called.\n\nSo provide a new smp_setup_processor_id() which is called before anything\nelse, wire it up for Voyager (which boots on a CPU other than #0, and broke).\n\nCc: 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": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "602cada851b28c5792339786efe872fbdc1f5d41",
      "tree": "233d474b74d6038b5bb54a07ad91dd1bb10b0218",
      "parents": [
        "82991c6f2c361acc17279b8124d9bf1878973435",
        "fee68d1cc0d9bd863e51c16cdcd707737b16bb38"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 14:19:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 14:19:21 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6: (22 commits)\n  [PATCH] devfs: Remove it from the feature_removal.txt file\n  [PATCH] devfs: Last little devfs cleanups throughout the kernel tree.\n  [PATCH] devfs: Rename TTY_DRIVER_NO_DEVFS to TTY_DRIVER_DYNAMIC_DEV\n  [PATCH] devfs: Remove the tty_driver devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the line_driver devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the videodevice devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the gendisk devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the miscdevice devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree\n  [PATCH] devfs: Remove devfs_remove() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_cdev() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_bdev() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_symlink() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree\n  [PATCH] devfs: Remove devfs_*_tape() functions from the kernel tree\n  [PATCH] devfs: Remove devfs support from the sound subsystem\n  [PATCH] devfs: Remove devfs support from the ide subsystem.\n  [PATCH] devfs: Remove devfs support from the serial subsystem\n  [PATCH] devfs: Remove devfs from the init code\n  [PATCH] devfs: Remove devfs from the partition code\n  ...\n"
    },
    {
      "commit": "b6cd0b772dcc5dc9b4c03d53946474dee399fa72",
      "tree": "09ef125f7595f73ba256177f894d6c341074ff5b",
      "parents": [
        "a7807a32bbb027ab9955b96734fdc7f1e6497a9f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jun 27 02:53:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] fs/buffer.c: cleanups\n\n- add a proper prototype for the following global function:\n  - buffer_init()\n\n- make the following needlessly global function static:\n  - end_buffer_async_write()\n\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"
    }
  ],
  "next": "ff23eca3e8f613034e0d20ff86f6a89b62f5a14e"
}
