)]}'
{
  "log": [
    {
      "commit": "8f4ce8c32f2dc2bc2411cafe39976fc5c0adfabf",
      "tree": "04f9009812e13f97b3eaae6385a0bb49cc2312b1",
      "parents": [
        "438e2ce68dfd4af4cfcec2f873564fb921db4bb5"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@debian.org",
        "time": "Thu Oct 18 03:04:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:19 2007 -0700"
      },
      "message": "serial: turn serial console suspend a boot rather than compile time option\n\nCurrently, there\u0027s a CONFIG_DISABLE_CONSOLE_SUSPEND that allows one to stop\nthe serial console from being suspended when the rest of the machine goes\nto sleep.  This is incredibly useful for debugging power management-related\nthings; however, having it as a compile-time option has proved to be\nincredibly inconvenient for us (OLPC).  There are plenty of times that we\nwant serial console to not suspend, but for the most part we\u0027d like serial\nconsole to be suspended.\n\nThis drops CONFIG_DISABLE_CONSOLE_SUSPEND, and replaces it with a kernel\nboot parameter (no_console_suspend).  By default, the serial console will\nbe suspended along with the rest of the system; by passing\n\u0027no_console_suspend\u0027 to the kernel during boot, serial console will remain\nalive during suspend.\n\nFor now, this is pretty serial console specific; further fixes could be\napplied to make this work for things like netconsole.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@suspend2.net\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": "0b15d04af3dd996035d8fa81fc849d049171f9c3",
      "tree": "cb0dc973b6485edb6fdf0bcdf4a2eeef9a48adad",
      "parents": [
        "d823e3e7541c39b4dfe9c79dbf052b4c39da2965"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier.adi@gmail.com",
        "time": "Tue Oct 16 23:26:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:50 2007 -0700"
      },
      "message": "printk: add interfaces for external access to the log buffer\n\nAdd two new functions for reading the kernel log buffer.  The intention is for\nthem to be used by recovery/dump/debug code so the kernel log can be easily\nretrieved/parsed in a crash scenario, but they are generic enough for other\npeople to dream up other fun uses.\n\n[akpm@linux-foundation.org: buncha fixes]\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bfe8df3d314bddf30758bd738e0087e80964760c",
      "tree": "d04db4fb2592e2d416073681903f05f5b30f204b",
      "parents": [
        "1bcf548293aef19b0797348332cf1dfbf2116cef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 16 01:23:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:49 2007 -0700"
      },
      "message": "slow down printk during boot\n\nOptionally add a boot delay after each kernel printk() call, crudely\nmeasured in milliseconds, with a maximum delay of 10 seconds per printk.\n\nEnable CONFIG_BOOT_PRINTK_DELAY\u003dy and then add (e.g.):\n\"lpj\u003dloops_per_jiffy boot_delay\u003d100\"\nto the kernel command line.\n\nIt has been useful in cases like \"during boot, my machine just reboots or the\nscreen goes black\" by slowing down printk, (and adding initcall_debug), we can\nusually see the last thing that happened before the lights went out which is\nusually a valuable clue.\n\n[akpm@linux-foundation.org: not all architectures implement CONFIG_HZ]\n[akpm@linux-foundation.org: fix lots of stuff]\n[bunk@stusta.de: kernel/printk.c: make 2 variables static]\n[heiko.carstens@de.ibm.com: fix slow down printk on boot compile error]\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.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": "cb00e99c0abd844b884c64c6b54aa3b7d345ebb1",
      "tree": "f258d30a49f864abdf836b5b2be4ebb43d542e96",
      "parents": [
        "15f6ddc7d9cf96f2ee88897c7164198ed6e45a77"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Tue Aug 21 23:14:58 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Aug 21 20:23:53 2007 -0700"
      },
      "message": "fix - ensure we don\u0027t use bootconsoles after init has been released\n\nGerd Hoffmann pointed out that my patch from yesterday can lead\nto a null pointer dereference if the kernel is booted with no\nconsole, and no earlyprintk defined. This fixes that issue.\n\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c5564bd91ad237212871d52deaf79ffe06bcc64",
      "tree": "3ed3c0e6356f88593f20c4206904a28b794e9fbf",
      "parents": [
        "35b426c329e12e33bd0f0912f3d2e3f5f7b2c486"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Mon Aug 20 15:22:47 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Aug 20 22:42:01 2007 -0700"
      },
      "message": "ensure we don\u0027t use bootconsoles after init has been released\n\nThis is a followup to the cleanups for earlyprintk patch from Gerd Hoffmann\n\nhttp://git.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003d69331af79cf29e26d1231152a172a1a10c2df511\n\nThis ensures that a bootconsole is unregistered if it is not replaced.\nThe current implementation spews garbage out the bootconsole in this case,\nsince the bootconsole structure is normally in the init section, and is\nfreed, but still used.\n\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nAcked-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6b1d87785712474d0ed80689c17107d616a1171",
      "tree": "c0c1d90a82c58950db96456a9cfe2d8ad0b8d426",
      "parents": [
        "1a3f2ea336b784d7df750a7821f514f3dea69e29"
      ],
      "author": {
        "name": "Daniel Ritz",
        "email": "daniel.ritz-ml@swissonline.ch",
        "time": "Fri Aug 03 16:07:43 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 03 15:02:56 2007 -0700"
      },
      "message": "serial: fix 8250 early console setup\n\nthe early setup function serial8250_console_early_setup() can be called\nfrom non __init code (eg. hotpluggable serial ports like serial_cs) so\nremove the __init from the call chain to avoid crashes.\n\nSigned-off-by: Daniel Ritz \u003cdaniel.ritz@gmx.ch\u003e\nCc: Yinghai Lu \u003cyinghai.lu@sun.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1492192b4a0bb84dd9b792cc0bd30583220a28a7",
      "tree": "54763778f2c1ed69ae967022dd940b4bcc040120",
      "parents": [
        "017f021c7e5fe3f82ccc5cbb7b1750e66e00f527"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Jul 15 23:41:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:52 2007 -0700"
      },
      "message": "kernel/printk.c: document possible deadlock against scheduler\n\nkernel/printk.c: document possible deadlock against scheduler\n\nThe printk\u0027s comment states that it can be called from every context,\nwhich might lead to false illusion that it could be called from everywhere\nwithout any restrictions.\n\nThis is however not true - a call to printk() could deadlock if called from\nscheduler code (namely from schedule(), wake_up(), etc) on runqueue lock\nwhen it tries to wake up klogd. Document this.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e84845c4bf9a00533352e5805b35f42acdb04a1e",
      "tree": "d5791d8f19b97d8ae925cde32d59d53521e405a7",
      "parents": [
        "185848707e73382ba930857502a0b80ff6039967"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Jul 15 23:40:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "add printk.time option, deprecate \u0027time\u0027\n\nAllow printk_time to be enabled or disabled at boot time.  Previously it\ncould be enabled only, but not disabled.\n\nChange printk_time from an int to a bool since that\u0027s what it is.  Make its\nlogical (exposed) name just be \"time\" (was \"printk_time\").\n\nNote: Changes kernel boot option syntax from \"time\" to \"printk.time\u003dvalue\".\n\nSince printk_time is declared as a module_param, it can also be\nchanged at run-time by modifying\n  /sys/module/printk/parameters/time\nto a value of 1/Y/y to enabled it or 0/N/n to disable it.\n\nSince printk_time is declared as a module_param, its value can also\nbe set at boot-time by using\n  linux printk.time\u003d\u003cbool\u003e\n\nIf the \"time\" boot option is used, print a message that it is deprecated\nand will be removed.\n\nNote its planned removal in feature-removal-schedule.txt.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\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": "d37bf60de0b4ddc1633cf278189d3c9bf28fe3d2",
      "tree": "7d76e5fe7059e320746d165ee26f70ed8ebca80e",
      "parents": [
        "eaa944afb206f3fc4393630811ee621b866e3255"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Sun Jul 15 23:37:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "console: console handover to preferred console\n\nfor earlyprintk\u003dttyS0,9600 console\u003dtty0 console\u003dttyS0,9600n8\n\nthe handover will happen from earlyser0 to tty0.  but what we want is to\nhand over to ttyS0.\n\nLater with serial-convert-early_uart-to-earlycon-for-8250.patch,\n\n\tconsole\u003dtty0 console\u003duart8250,io,0x3f8,9600n8\n\nwill handover to ttyS0 instead of tty0.\n\nSigned-off-by: Yinghai Lu \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": "eaa944afb206f3fc4393630811ee621b866e3255",
      "tree": "71a68928f5cd5223bb33de0db757f00a00eb2997",
      "parents": [
        "79492689e40d4f4d3d8a7262781d56fb295b4b86"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Sun Jul 15 23:37:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "console: more buf for index parsing\n\nChange name to buf according to the usage as name + index\n\nSigned-off-by: Yinghai Lu \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": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69331af79cf29e26d1231152a172a1a10c2df511",
      "tree": "0c6f805fc78c1969b8c46f02070cb9dc39f3f944",
      "parents": [
        "6ae9200f2cab7b328e505fc9a7021db64e0590cf"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@suse.de",
        "time": "Tue May 08 00:26:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "Fixes and cleanups for earlyprintk aka boot console\n\nThe console subsystem already has an idea of a boot console, using the\nCON_BOOT flag.  The implementation has some flaws though.  The major\nproblem is that presence of a boot console makes register_console() ignore\nany other console devices (unless explicitly specified on the kernel\ncommand line).\n\nThis patch fixes the console selection code to *not* consider a boot\nconsole a full-featured one, so the first non-boot console registering will\nbecome the default console instead.  This way the unregister call for the\nboot console in the register_console() function actually triggers and the\nhandover from the boot console to the real console device works smoothly.\nAdded a printk for the handover, so you know which console device the\noutput goes to when the boot console stops printing messages.\n\nThe disable_early_printk() call is obsolete with that patch, explicitly\ndisabling the early console isn\u0027t needed any more as it works automagically\nwith that patch.\n\nI\u0027ve walked through the tree, dropped all disable_early_printk() instances\nfound below arch/ and tagged the consoles with CON_BOOT if needed.  The\ncode is tested on x86, sh (thanks to Paul) and mips (thanks to Ralf).\n\nChanges to last version: Rediffed against -rc3, adapted to mips cleanups by\nRalf, fixed \"udbg-immortal\" cmd line arg on powerpc.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@exsuse.de\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bbfb7c2e4b682542a822d3af05cea0e5cb5ba81",
      "tree": "db9b43adbcf1c7fa02e68a04fe1f914d23c3cd4b",
      "parents": [
        "a8e14b950c9a9e2ec703df610e00ae8581040517"
      ],
      "author": {
        "name": "Patrick Pletscher",
        "email": "pat@pletscher.org",
        "time": "Sat Feb 17 20:10:16 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 20:10:16 2007 +0100"
      },
      "message": "kernel/printk.c: comment fix\n\nSigned-off-by: Patrick Pletscher \u003cpat@pletscher.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "1efc5da3cf567d2f6b795f9d2112ed97fec4ee7c",
      "tree": "25a45ed5a45e5ad54c6264240cd3c55e751858b3",
      "parents": [
        "482a579b370a0bf924b577efd6c750284a95e0fb"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "compudj@krystal.dyndns.org",
        "time": "Sat Feb 10 01:46:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:06 2007 -0800"
      },
      "message": "[PATCH] order of lockdep off/on in vprintk() should be changed\n\nThe order of locking between lockdep_off/on() and local_irq_save/restore() in\nvprintk() should be changed.\n\n* In kernel/printk.c :\n\nvprintk() does :\n\npreempt_disable()\nlocal_irq_save()\nlockdep_off()\nspin_lock(\u0026logbuf_lock)\nspin_unlock(\u0026logbuf_lock)\nif(!down_trylock(\u0026console_sem))\n   up(\u0026console_sem)\nlockdep_on()\nlocal_irq_restore()\npreempt_enable()\n\nThe goals here is to make sure we do not call printk() recursively from\nkernel/lockdep.c:__lock_acquire() (called from spin_* and down/up) nor from\nkernel/lockdep.c:trace_hardirqs_on/off() (called from local_irq_restore/save).\nIt can then potentially call printk() through mark_held_locks/mark_lock.\n\nIt correctly protects against the spin_lock call and the up/down call, but it\ndoes not protect against local_irq_restore. It could cause infinite recursive\nprintk/trace_hardirqs_on() calls when printk() is called from the\nmark_lock() error handing path.\n\nWe should change the locking so it becomes correct :\n\npreempt_disable()\nlockdep_off()\nlocal_irq_save()\nspin_lock(\u0026logbuf_lock)\nspin_unlock(\u0026logbuf_lock)\nif(!down_trylock(\u0026console_sem))\n   up(\u0026console_sem)\nlocal_irq_restore()\nlockdep_on()\npreempt_enable()\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-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": "e3e8a75d2acfc61ebf25524666a0a2c6abb0620c",
      "tree": "bd3d3e57f7b9084544155ac562f4456693e25e55",
      "parents": [
        "cefc8be82403cfc4325e7b9b063f77dc0f34e19e"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Sat Feb 10 01:46:19 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] Extract and use wake_up_klogd()\n\nRemove hack with printing space to wake up klogd.  Use explicit\nwake_up_klogd().\n\nSee earlier discussion\nhttp://groups.google.com/group/fa.linux.kernel/browse_frm/thread/75f496668409f58d/1a8f28983a51e1ff?lnk\u003dst\u0026q\u003dwake_up_klogd+group%3Afa.linux.kernel\u0026rnum\u003d2#1a8f28983a51e1ff\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "72fd4a35a824331d7a0f4168d7576502d95d34b3",
      "tree": "be27880bc36b7f62e8044a88b8744a35c5317714",
      "parents": [
        "262086cf5b5343c2b81c97b1c606058e921859df"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] Numerous fixes to kernel-doc info in source files.\n\nA variety of (mostly) innocuous fixes to the embedded kernel-doc content in\nsource files, including:\n\n  * make multi-line initial descriptions single line\n  * denote some function names, constants and structs as such\n  * change erroneous opening \u0027/*\u0027 to \u0027/**\u0027 in a few places\n  * reword some text for clarity\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99eea6a105106a94758724ccce996607f60bc0f2",
      "tree": "7c9e20c971da856e8e10fa8cfe11b1b042fdc46c",
      "parents": [
        "af9997e426f9ddfe7a84cb4cd3c7ff938fabd41a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Dec 22 01:07:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 22 08:55:47 2006 -0800"
      },
      "message": "[PATCH] make kernel/printk.c:ignore_loglevel_setup() static\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"
    },
    {
      "commit": "792908225064b1d841a8990b9d1d1cfc4e0e5bb2",
      "tree": "3892ec82447727cf59b3cf5d37273b76d01b763c",
      "parents": [
        "70e4506765602cca047cfa31933836e354c61a63"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 06 20:40:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:47 2006 -0800"
      },
      "message": "[PATCH] add ignore_loglevel boot option\n\nSometimes the kernel prints something interesting while userspace bootup\nkeeps messages turned off via loglevel.  Enable the printing of /all/\nkernel messages via the \"ignore_loglevel\" boot option.  Off by default.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "045f147f3290395661b56b9231fc4d221e150963",
      "tree": "63df3be162913b044a7f88a03b45c59f438bbb19",
      "parents": [
        "a8f48a95619cbce8f85423480e7d0a1bf971a62b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:40:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] remove EXPORT_UNUSED_SYMBOL\u0027ed symbols\n\nIn time for 2.6.20, we can get rid of this junk.\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"
    },
    {
      "commit": "c36264dfb2d6fa6383082de0a1bba8e12b477da1",
      "tree": "25efc8365544d12974f0633ad46f619bfbf087e1",
      "parents": [
        "44ddc4f5673a62c9ecdbb7b502fe7b8206b0f945"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Dec 06 20:37:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:38 2006 -0800"
      },
      "message": "[PATCH] remove the syslog interface when printk is disabled\n\nAttempts to read() from the non-existent dmesg buffer will return zero and\nuserspace tends to get stuck in a busyloop.\n\nSo just remove /dev/kmsg altogether if CONFIG_PRINTK\u003dn.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f46c483357c2d87606bbefb511321e3efd4baae0",
      "tree": "e3276379337a56353cce051d8f7efbc87dc61fdb",
      "parents": [
        "7f6b8876c7e66b0d15af134e2a5b87e55514eb6d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Nov 02 22:07:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:58 2006 -0800"
      },
      "message": "[PATCH] Add printk_timed_ratelimit()\n\nprintk_ratelimit() has global state which makes it not useful for callers\nwhich wish to perform ratelimiting at a particular frequency.\n\nAdd a printk_timed_ratelimit() which utilises caller-provided state storage to\npermit more flexibility.\n\nThis function can in fact be used for things other than printk ratelimiting\nand is perhaps poorly named.\n\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "256a6b41365e17cebe5c2fc91ddff716c9aa055a",
      "tree": "c491008b3e2fefed6a42ac7f824d191e023fb11f",
      "parents": [
        "5fcce7432a731e67f1cd3ef1e71dca9ea84dedb1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 11 01:22:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:24 2006 -0700"
      },
      "message": "[PATCH] lockdep: fix printk recursion logic\n\nBug reported and fixed by Tilman Schmidt \u003ctilman@imap.cc\u003e: if lockdep is\nenabled then log messages make it to /var/log/messages belatedly.  The\nreason is a missed wakeup of klogd.\n\nInitially there was only a lockdep_internal() protection against lockdep\nrecursion within vprintk() - it grew the \u0027outer\u0027 lockdep_off()/on()\nprotection only later on.  But that lockdep_off() made the\nrelease_console_sem() within vprintk() always happen under the\nlockdep_internal() condition, causing the bug.\n\nThe right solution to remove the inner protection against recursion here -\nthe outer one is enough.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8eb8b4025175f967af0ba8e933f23aa9954dc35",
      "tree": "1e7dcfe6472aa0cae05651e375bebb3e7b5b9eb8",
      "parents": [
        "940864ddabdb180e02041c4dcd46ba6f9eee732f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:03 2006 -0700"
      },
      "message": "[PATCH] PM: make it possible to disable console suspending\n\nChange suspend_console() so that it waits for all consoles to flush the\nremaining messages and make it possible to switch the console suspending off\nwith the help of a Kconfig option.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Stefan Seyfried \u003cseife@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "78944e549d36673eb6265a2411574e79c28e23dc",
      "tree": "5e080e775c21f6d7af69f37f37d25b7680cc46b8",
      "parents": [
        "38cbcdc0a7be69a15462dc49512d43353f34b43b"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Sat Aug 05 12:14:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:47 2006 -0700"
      },
      "message": "[PATCH] vt: printk: Fix framebuffer console triggering might_sleep assertion\n\nReported by: Dave Jones\n\nWhilst printk\u0027ing to both console and serial console, I got this...\n(2.6.18rc1)\n\nBUG: sleeping function called from invalid context at kernel/sched.c:4438\nin_atomic():0, irqs_disabled():1\n\nCall Trace:\n [\u003cffffffff80271db8\u003e] show_trace+0xaa/0x23d\n [\u003cffffffff80271f60\u003e] dump_stack+0x15/0x17\n [\u003cffffffff8020b9f8\u003e] __might_sleep+0xb2/0xb4\n [\u003cffffffff8029232e\u003e] __cond_resched+0x15/0x55\n [\u003cffffffff80267eb8\u003e] cond_resched+0x3b/0x42\n [\u003cffffffff80268c64\u003e] console_conditional_schedule+0x12/0x14\n [\u003cffffffff80368159\u003e] fbcon_redraw+0xf6/0x160\n [\u003cffffffff80369c58\u003e] fbcon_scroll+0x5d9/0xb52\n [\u003cffffffff803a43c4\u003e] scrup+0x6b/0xd6\n [\u003cffffffff803a4453\u003e] lf+0x24/0x44\n [\u003cffffffff803a7ff8\u003e] vt_console_print+0x166/0x23d\n [\u003cffffffff80295528\u003e] __call_console_drivers+0x65/0x76\n [\u003cffffffff80295597\u003e] _call_console_drivers+0x5e/0x62\n [\u003cffffffff80217e3f\u003e] release_console_sem+0x14b/0x232\n [\u003cffffffff8036acd6\u003e] fb_flashcursor+0x279/0x2a6\n [\u003cffffffff80251e3f\u003e] run_workqueue+0xa8/0xfb\n [\u003cffffffff8024e5e0\u003e] worker_thread+0xef/0x122\n [\u003cffffffff8023660f\u003e] kthread+0x100/0x136\n [\u003cffffffff8026419e\u003e] child_rip+0x8/0x12\n\nThis can occur when release_console_sem() is called but the log\nbuffer still has contents that need to be flushed. The console drivers\nare called while the console_may_schedule flag is still true. The\nmight_sleep() is triggered when fbcon calls console_conditional_schedule().\n\nFix by setting console_may_schedule to zero earlier, before the call to the\nconsole drivers.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0fc84d2e5bb4a9e3ae470812a00cccba85a48b8",
      "tree": "17adcafbb353a525ac16c86b976b1f499b40ee6c",
      "parents": [
        "d0a0a5ee7a0094231a11cfe3f86d2d8f5f994e01"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jul 10 04:44:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:17 2006 -0700"
      },
      "message": "[PATCH] kernel/printk.c: EXPORT_SYMBOL_UNUSED\n\nThis patch marks unused exports as EXPORT_SYMBOL_UNUSED.\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"
    },
    {
      "commit": "a0f1ccfd8d37457a6d8a9e01acebeefcdfcc306e",
      "tree": "e16b7fe211c8ed685bed942910e2ace06e7c2e27",
      "parents": [
        "3047e99ede366298c6233d1870d12a520d4d92f3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:05 2006 -0700"
      },
      "message": "[PATCH] lockdep: do not recurse in printk\n\nMake printk()-ing from within the lock validation code safer by using the\nlockdep-recursion counter.\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": "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": "3b9c04106b70e46803c69d13d5da32f6129fa76d",
      "tree": "b0405d1823ea30cdc07cd5ab5361d39b262e531e",
      "parents": [
        "e5dcd90b53d601a04482db9800336a0ccf190880"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Sun Jun 25 05:48:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:13 2006 -0700"
      },
      "message": "[PATCH] printk time parameter\n\nCurrently, enabling/disabling printk timestamps is only possible through\nreboot (bootparam) or recompile.  I normally do not run with timestamps\n(since syslog handles that in a good manner), but for measuring small\nkernel delays (e.g.  irq probing - see parport thread) I needed subsecond\nprecision, but then again, just for some minutes rather than all kernel\nmessages to come.  The following patch adds a module_param() with which the\ntimestamps can be en-/disabled in a live system through\n/sys/modules/printk/parameters/printk_time.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76a8ad293912cd2f01eca075d80cd0ddec30c627",
      "tree": "1ff683dcd5b1351b403d3efe701d0dd9eddcd773",
      "parents": [
        "8ae6e163c1b637e1cb125613726ffbd31ca44fdf"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Sun Jun 25 05:47:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:05 2006 -0700"
      },
      "message": "[PATCH] Make printk work for really early debugging\n\nCurrently printk is no use for early debugging because it refuses to\nactually print anything to the console unless\ncpu_online(smp_processor_id()) is true.\n\nThe stated explanation is that console drivers may require per-cpu\nresources, or otherwise barf, because the system is not yet setup\ncorrectly.  Fair enough.\n\nHowever some console drivers might be quite happy running early during\nboot, in fact we have one, and so it\u0027d be nice if printk understood that.\n\nSo I added a flag (which I would have called CON_BOOT, but that\u0027s taken)\ncalled CON_ANYTIME, which indicates that a console is happy to be called\nanytime, even if the cpu is not yet online.\n\nTested on a Power 5 machine, with both a CON_ANYTIME driver and a bogus\nconsole driver that BUG()s if called while offline.  No problems AFAICT.\nBuilt for i386 UP \u0026 SMP.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "557240b48e2dc4f6fa878afc3fc767ad745ca7ed",
      "tree": "354e9de17c28b438db675f6a2b779415f1634c45",
      "parents": [
        "5603509137940f4cbc577281cee62110d4097b1b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 19 18:16:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 19 18:16:01 2006 -0700"
      },
      "message": "Add support for suspending and resuming the whole console subsystem\n\nTrying to suspend/resume with console messages flying all around is\ndoomed to failure, when the devices that the messages are trying to\ngo to are being shut down.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8abd8e298eb15e2c1b993df0634daf29e43e0aab",
      "tree": "a83df11829c6ffdee4a787b57f899f87813a6fb1",
      "parents": [
        "9bc98fc6fd3d07f37b597601489df200e0024222"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Apr 01 01:21:17 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:21:17 2006 +0200"
      },
      "message": "BUG_ON() Conversion in kernel/printk.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "2ea1c5392cc8ce249fb661db4f4cdfbbae373a89",
      "tree": "07e612d8e1e6c015f7da2702f2af4129e63db15c",
      "parents": [
        "7e9dd124b90af80824754f68c0b246cfd0fb624b"
      ],
      "author": {
        "name": "John Z. Bohach",
        "email": "jzb@aexorsyst.com",
        "time": "Fri Mar 24 03:18:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] console_setup() depends (wrongly?) on CONFIG_PRINTK\n\nIt appears that console_setup() code only gets compiled into the kernel if\nCONFIG_PRINTK is enabled.  One detrimental side-effect of this is that\nserial8250_console_setup() never gets invoked when CONFIG_PRINTK is not\nset, resulting in baud rate not being read/parsed from command line (i.e.\nconsole\u003dttyS0,115200n8 is ignored, at least the baud rate part...)\n\nAttached patch moves console_setup() code from inside\n\n#ifdef CONFIG_PRINTK\n\nto outside (in printk.c), removing dependence on said config. option.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "624dffcbcf87b9c501b13256416a82487be962bc",
      "tree": "aa190c9532c7c6549f677f6a07f8cdf51b181815",
      "parents": [
        "92c3504e6ee0816d4ea1345a6bd276969224890d"
      ],
      "author": {
        "name": "Christian Kujau",
        "email": "evil@g-house.de",
        "time": "Sun Jan 15 02:43:54 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@r063144.stusta.swh.mhn.de",
        "time": "Sun Jan 15 02:43:54 2006 +0100"
      },
      "message": "correct email address of Manfred Spraul\n\nI  tried to send the forcedeth maintainer an email, but it came back with:\n\n\"The mail address manfreds@colorfullife.com is not read anymore.\nPlease resent your mail to manfred@ instead of manfreds@.\"\n\nThis patch fixes this.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "025510cd20f4c35c3958bea133d96c9bd7c6ef9e",
      "tree": "a1d7946374dc6db660ffbf76a1ae862c629566d1",
      "parents": [
        "2520f14ca85e38f575eed6acc6e586df246abea6"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Sun Jan 08 01:02:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:52 2006 -0800"
      },
      "message": "[PATCH] printk return value: fix it\n\nWhat\u0027s the true meaning of the printk return value?  Should it include the\npriority prefix length of 3?  and what about the timing information?  In\nboth cases it was broken:\n\nstrace -e write echo 1 \u003e /dev/kmsg\n\u003d\u003e write(1, \"1\\n\", 2)                      \u003d 5\nstrace -e write echo \"\u003c1\u003e1\" \u003e /dev/kmsg\n\u003d\u003e write(1, \"\u003c1\u003e1\\n\", 5)                   \u003d 8\n\nThe returned length was \"length of input string + 3\", I made it \"length\nof string output to the log buffer\".\n\nNote that I couldn\u0027t find any printk caller in the kernel interested by its\nreturn value besides kmsg_write.\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nAcked-By: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9b15b54d3646108bbd3e054158b402025d3e704",
      "tree": "4e12028b9fd62fc13ad66d047f5d0052c2208e96",
      "parents": [
        "962b564cf1ec8041e8890a3c3847e3a630a08f42"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Nov 23 13:37:44 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 23 16:08:39 2005 -0800"
      },
      "message": "[PATCH] Fix crash in unregister_console()\n\nIf unregister_console() is inadvertently called while no consoles are\nregistered, it will crash trying to dereference NULL pointer.  It is\nnecessary to fix that because register_console() provides no indication\nthat it actually registered the console passed in.  In fact, it may well\ndecide not to register it based on various things...\n\n(akpm: It\u0027d be better to make register_console() return something and fix the\ncallers.  All 106 of them...)\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ddad86c2d6f660112c6ce8aabae6ffd346e25b9b",
      "tree": "f11cca30f8c67631b5b2d51d5ab45398bedfe6ff",
      "parents": [
        "aeec46b97a7975fd983219177980c58ed4fd607c"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun Nov 13 16:08:14 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:21 2005 -0800"
      },
      "message": "[PATCH] DocBook: include printk documentation\n\nAdd printk documentation to kernel-api.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47bdfb96de47d25bea423b5adbfe1c2e1ceaa296",
      "tree": "15db7aa7828eecb91142a5dd98cd5e97e1a1114a",
      "parents": [
        "f8b8db77b0cc36670ef4ed6bc31e64537ffa197e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:39 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:07 2005 -0800"
      },
      "message": "[PATCH] unexport console_unblank\n\nI didn\u0027t find any possible modular usage of console_unblank in the\nkernel.\n\nThis patch was already ACK\u0027ed by Alan Cox.\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"
    },
    {
      "commit": "40dc565122ed1e180a0637f88cdfca734d33db78",
      "tree": "3076103886ae7f60c9a3cfabaebef821c1e39b10",
      "parents": [
        "2a91f3e54ff27c6002597f689ba51c5fa657ddbd"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Sun Oct 30 15:02:46 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:23 2005 -0800"
      },
      "message": "[PATCH] cleanup for kernel/printk.c\n\n- Removes some trailing whitespace\n\n- Breaks long lines and make other small changes to conform to CodingStyle\n\n- Add explicit printk loglevels in two places.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31f6d9d628739c097964b8dbae939ea997da94a3",
      "tree": "a559531440fbf6685e68ebce5f5a26695ae7d5d9",
      "parents": [
        "66dcca062847bcd261ebb3ac96d51101f31a8630"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Sep 21 09:55:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 21 10:11:54 2005 -0700"
      },
      "message": "[PATCH] Add printk_clock()\n\nia64\u0027s sched_clock() accesses per-cpu data which isn\u0027t set up at boot time.\nHence ia64 cannot use printk timestamping, because printk() will crash in\nsched_clock().\n\nSo make printk() use printk_clock(), defaulting to sched_clock(), overrideable\nby the architecture via attribute(weak).\n\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe21773d655c2c64641ec2cef499289ea175c817",
      "tree": "ebc1f49f0b7135aa05bbf3a5463a6e1c238add89",
      "parents": [
        "c3d8c1414573be8cf7c8fdc1e076935697c7f6af"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Sep 06 15:16:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:18 2005 -0700"
      },
      "message": "[PATCH] Provide better printk() support for SMP machines\n\nThe attached patch prevents oopses interleaving with characters from\nother printks on other CPUs by only breaking the lock if the oops is\nhappening on the machine holding the lock.\n\nIt might be better if the oops generator got the lock and then called an\ninner vprintk routine that assumed the caller holds the lock, thus\nmaking oops reports \"atomic\".\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac25575203c11145066ea5cb583354cb5f0a8ade",
      "tree": "f5bb286385e7a9aa0264b5186c165bac3606d327",
      "parents": [
        "8d783b3e02002bce8cf9d4e4a82922ee7e59b1e5"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Sat Jun 25 14:55:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:34 2005 -0700"
      },
      "message": "[PATCH] CPU hotplug printk fix\n\nIn the cpu hotplug case, per-cpu data possibly isn\u0027t initialized even the\nsystem state is \u0027running\u0027.  As the comments say in the original code, some\nconsole drivers assume per-cpu resources have been allocated.  radeon fb is\none such driver, which uses kmalloc.  After a CPU is down, the per-cpu data\nof slab is freed, so the system crashed when printing some info.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab4af03a4054bd78bcabfb2214c9597201beae35",
      "tree": "43d2b273cb84349bfdde6667f8d5fea1d2d87031",
      "parents": [
        "dfe52244e004f5103478966cd88351feb5c50d79"
      ],
      "author": {
        "name": "Greg Edwards",
        "email": "edwardsg@sgi.com",
        "time": "Thu Jun 23 00:09:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] CON_CONSDEV bit not set correctly on last console\n\nAccording to include/linux/console.h, CON_CONSDEV flag should be set on\nthe last console specified on the boot command line:\n\n     86 #define CON_PRINTBUFFER (1)\n     87 #define CON_CONSDEV     (2) /* Last on the command line */\n     88 #define CON_ENABLED     (4)\n     89 #define CON_BOOT        (8)\n\nThis does not currently happen if there is more than one console specified\non the boot commandline.  Instead, it gets set on the first console on the\ncommand line.  This can cause problems for things like kdb that look for\nthe CON_CONSDEV flag to see if the console is valid.\n\nAdditionaly, it doesn\u0027t look like CON_CONSDEV is reassigned to the next\npreferred console at unregister time if the console being unregistered\ncurrently has that bit set.\n\nExample (from sn2 ia64):\n\nelilo vmlinuz root\u003d\u003cdev\u003e console\u003dttyS0 console\u003dttySG0\n\nin this case, the flags on ttySG console struct will be 0x4 (should be\n0x6).\n\nAttached patch against bk fixes both issues for the cases I looked at.  It\nuses selected_console (which gets incremented for each console specified on\nthe command line) as the indicator of which console to set CON_CONSDEV on.\nWhen adding the console to the list, if the previous one had CON_CONSDEV\nset, it masks it out.  Tested on ia64 and x86.\n\nThe problem with the current behavior is it breaks overriding the default from\nthe boot line.  In the ia64 case, there may be a global append line defining\nconsole\u003da in elilo.conf.  Then you want to boot your kernel, and want to\noverride the default by passing console\u003db on the boot line.  elilo constructs\nthe kernel cmdline by starting with the value of the global append line, then\ntacks on whatever else you specify, which puts console\u003db last.\n\nSigned-off-by: Greg Edwards \u003cedwardsg@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c0547ba8b3bbd8b26ae35e33ac17ff51f67f78c",
      "tree": "e1986b120eb889f3a2ebc8887bd3b729880485ff",
      "parents": [
        "e8f5bdb02ce06925e7fc5916125bdebc533d4299"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon May 16 21:53:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:19 2005 -0700"
      },
      "message": "[PATCH] add_preferred_console() build fix\n\nMove add_preferred_console out of CONFIG_PRINTK so serial console does the\nright thing.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d59745ce3e7aa13856bca16d3bcbb95041775ff6",
      "tree": "6e495bb6697d86534685bf813c43e210a8d8323a",
      "parents": [
        "cd7619d6bf36564cf54ff7218ef54e558a741913"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun May 01 08:59:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:02 2005 -0700"
      },
      "message": "[PATCH] clean up kernel messages\n\nArrange for all kernel printks to be no-ops.  Only available if\nCONFIG_EMBEDDED.\n\nThis patch saves about 375k on my laptop config and nearly 100k on minimal\nconfigs.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
