)]}'
{
  "log": [
    {
      "commit": "b8be634e01b400fa2528848ad0cd6a5580a15bc4",
      "tree": "f36da264249540727a60e13a54d1d44c8821b48d",
      "parents": [
        "298a4c3a57fed38df365a6807728d1930a72c728",
        "f5e2bae0aad03164ffc7ce9dfeee6608e2c87dba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 24 10:31:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 24 10:31:34 2010 -0800"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/mtd-2.6.33\n\n* git://git.infradead.org/~dwmw2/mtd-2.6.33:\n  mtd: tests: fix read, speed and stress tests on NOR flash\n  mtd: Really add ARM pismo support\n  kmsg_dump: Dump on crash_kexec as well\n"
    },
    {
      "commit": "0f4bd46ec252887f44f1f065b41867cac8f70dfb",
      "tree": "daa176e9f9e1f5e9ba8c5476b5333142f31aa062",
      "parents": [
        "60d9aa758c00f20ade0cb1951f6a934f628dd2d7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Dec 22 03:15:43 2009 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Dec 31 19:45:04 2009 +0000"
      },
      "message": "kmsg_dump: Dump on crash_kexec as well\n\ncrash_kexec gets called before kmsg_dump(KMSG_DUMP_OOPS) if\npanic_on_oops is set, so the kernel log buffer is not stored\nfor this case.\n\nThis patch adds a KMSG_DUMP_KEXEC dump type which gets called\nwhen crash_kexec() is invoked. To avoid getting double dumps,\nthe old KMSG_DUMP_PANIC is moved below crash_kexec(). The\nmtdoops driver is modified to handle KMSG_DUMP_KEXEC in the\nsame way as a panic.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6485536bcf499839a54dcda8a8d47ea0bd29b375",
      "tree": "86c94469801a264a964399ebbd4c57877eb18ff3",
      "parents": [
        "65a80b4c61f5b5f6eb0f5669c8fb120893bfb388"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Dec 17 15:27:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:32 2009 -0800"
      },
      "message": "printk: fix new kernel-doc warnings\n\nFix kernel-doc warnings in printk.c:\n\nWarning(kernel/printk.c:1422): No description found for parameter \u0027dumper\u0027\nWarning(kernel/printk.c:1422): Excess function parameter \u0027dump\u0027 description in \u0027kmsg_dump_register\u0027\nWarning(kernel/printk.c:1451): No description found for parameter \u0027dumper\u0027\nWarning(kernel/printk.c:1451): Excess function parameter \u0027dump\u0027 description in \u0027kmsg_dump_unregister\u0027\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": "60d9aa758c00f20ade0cb1951f6a934f628dd2d7",
      "tree": "e3bdfa4ec0d3f9a29a822810b8b9188c7d613cbd",
      "parents": [
        "b2adf0cbec4cf0934c63f48f893e0cebde380d0c",
        "2e16cfca6e17ae37ae21feca080a6f2eca9087dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (90 commits)\n  jffs2: Fix long-standing bug with symlink garbage collection.\n  mtd: OneNAND: Fix test of unsigned in onenand_otp_walk()\n  mtd: cfi_cmdset_0002, fix lock imbalance\n  Revert \"mtd: move mxcnd_remove to .exit.text\"\n  mtd: m25p80: add support for Macronix MX25L4005A\n  kmsg_dump: fix build for CONFIG_PRINTK\u003dn\n  mtd: nandsim: add support for 4KiB pages\n  mtd: mtdoops: refactor as a kmsg_dumper\n  mtd: mtdoops: make record size configurable\n  mtd: mtdoops: limit the maximum mtd partition size\n  mtd: mtdoops: keep track of used/unused pages in an array\n  mtd: mtdoops: several minor cleanups\n  core: Add kernel message dumper to call on oopses and panics\n  mtd: add ARM pismo support\n  mtd: pxa3xx_nand: Fix PIO data transfer\n  mtd: nand: fix multi-chip suspend problem\n  mtd: add support for switching old SST chips into QRY mode\n  mtd: fix M29W800D dev_id and uaddr\n  mtd: don\u0027t use PF_MEMALLOC\n  mtd: Add bad block table overrides to Davinci NAND driver\n  ...\n\nFixed up conflicts (mostly trivial) in\n\tdrivers/mtd/devices/m25p80.c\n\tdrivers/mtd/maps/pcmciamtd.c\n\tdrivers/mtd/nand/pxa3xx_nand.c\n\tkernel/printk.c\n"
    },
    {
      "commit": "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
      "tree": "deaed4192d440b6afb7470b0c36e69d9d65dd119",
      "parents": [
        "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
        "5c828713358cb9df8aa174371edcbbb62203a490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ratelimit: Make suppressed output messages more useful\n  printk: Remove ratelimit.h from kernel.h\n  ratelimit: Fix/allow use in atomic contexts\n  ratelimit: Use per ratelimit context locking\n"
    },
    {
      "commit": "595dd3d8bf953254d8d2f30f99c54fe09c470040",
      "tree": "f7a1d6c8ccb2e32f4fdf7e04a6a6ba8cfe0acc0c",
      "parents": [
        "75352662c54421b48ed58200565395b123952748"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Dec 01 10:52:02 2009 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Dec 02 08:44:33 2009 +0000"
      },
      "message": "kmsg_dump: fix build for CONFIG_PRINTK\u003dn\n\nkmsg_dump() fails to build when CONFIG_PRINTK\u003dn; provide stubs\nfor the kmsg_dump*() functions when CONFIG_PRINTK\u003dn.\n\nkernel/printk.c: In function \u0027kmsg_dump\u0027:\nkernel/printk.c:1501: error: \u0027log_buf_len\u0027 undeclared (first use in this function)\nkernel/printk.c:1502: error: \u0027logged_chars\u0027 undeclared (first use in this function)\nkernel/printk.c:1506: error: \u0027log_buf\u0027 undeclared (first use in this function)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "456b565cc52fbcdaa2e19ffdf40d9dd3b726d603",
      "tree": "c73029f31756289ed54183e97e0613f87cef6ed5",
      "parents": [
        "7cb777a3d71f9d1f7eb149c7a504d21f24219ae8"
      ],
      "author": {
        "name": "Simon Kagstrom",
        "email": "simon.kagstrom@netinsight.net",
        "time": "Fri Oct 16 14:09:18 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 12:01:49 2009 +0000"
      },
      "message": "core: Add kernel message dumper to call on oopses and panics\n\nThe core functionality is implemented as per Linus suggestion from\n\n  http://lists.infradead.org/pipermail/linux-mtd/2009-October/027620.html\n\n(with the kmsg_dump implementation by Linus). A struct kmsg_dumper has\nbeen added which contains a callback to dump the kernel log buffers on\ncrashes. The kmsg_dump function gets called from oops_exit() and panic()\nand invokes this callbacks with the crash reason.\n\n[dwmw2: Fix log_end handling]\nSigned-off-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nReviewed-by: Anders Grafstrom \u003canders.grafstrom@netinsight.net\u003e\nReviewed-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5c828713358cb9df8aa174371edcbbb62203a490",
      "tree": "c8aeafba911cb428b5dc46a9e252c337b7c51d17",
      "parents": [
        "3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Oct 23 14:58:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 17:26:37 2009 +0200"
      },
      "message": "ratelimit: Make suppressed output messages more useful\n\nToday I got:\n\n  [39648.224782] Registered led device: iwl-phy0::TX\n  [40676.545099] __ratelimit: 246 callbacks suppressed\n  [40676.545103] abcdef[23675]: segfault at 0 ...\n\nas you can see the ratelimit message contains a function prefix.\nSince this is always __ratelimit, this wont help much.\n\nThis patch changes __ratelimit and printk_ratelimit to print the\nfunction name that calls ratelimit.\n\nThis will pinpoint the responsible function, as long as not several\ndifferent places call ratelimit with the same ratelimit state at\nthe same time. In that case we catch only one random function that\ncalls ratelimit after the wait period.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c200910231458.11832.borntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af91322ef3f29ae4114e736e2a72e28b4d619cf9",
      "tree": "debba08531c7dd78b90b5d8f2c03f6bf7c9e7877",
      "parents": [
        "3a3b6ed2235f2f619889dd6096e24b6d93bf3339"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Sep 22 16:43:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "printk: add printk_delay to make messages readable for some scenarios\n\nWhen syslog is not possible, at the same time there\u0027s no serial/net\nconsole available, it will be hard to read the printk messages.  For\nexample oops/panic/warning messages in shutdown phase.\n\nAdd a printk delay feature, we can make each printk message delay some\nmilliseconds.\n\nSetting the delay by proc/sysctl interface: /proc/sys/kernel/printk_delay\n\nThe value range from 0 - 10000, default value is 0\n\n[akpm@linux-foundation.org: fix a few things]\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\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": "3a3b6ed2235f2f619889dd6096e24b6d93bf3339",
      "tree": "f187d60c22a00a5aeea9df9483ae0182d265704f",
      "parents": [
        "5ae87e79ecb5baa65e9cf48be874098fafad0668"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Sep 22 16:43:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "printk boot_delay: rename printk_delay_msec to loops_per_msec\n\nRename `printk_delay_msec\u0027 to `loops_per_msec\u0027, because the patch \"printk:\nadd printk_delay to make messages readable for some scenarios\" wishes to\nmore appropriately use the `printk_delay_msec\u0027 identifier.\n\n[akpm@linux-foundation.org: add a comment]\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\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": "3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5",
      "tree": "67c476b8aa52a2f5d17dc9b94da360e10d373bd5",
      "parents": [
        "edaac8e3167501cda336231d00611bf59c164346"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 16:18:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 16:18:09 2009 +0200"
      },
      "message": "printk: Remove ratelimit.h from kernel.h\n\nDecouple kernel.h from ratelimit.h: the global declaration of\nprintk\u0027s ratelimit_state is not needed, and it leads to messy\ncircular dependencies due to ratelimit.h\u0027s (new) adding of a\nspinlock_types.h include.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "353f6dd2dec992ddd34620a94b051b0f76227379",
      "tree": "38f48b57f8f0f1bb05983ec32205fac9b8bab14c",
      "parents": [
        "bb193c986a7104f718c1b92709e1e6e22ac3f864"
      ],
      "author": {
        "name": "Anirban Sinha",
        "email": "asinha@zeugmasystems.com",
        "time": "Mon Sep 14 11:13:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:41:42 2009 -0700"
      },
      "message": "cleanup console_print()\n\nconsole_print() is an old legacy interface mostly unused in the entire\nkernel tree. It\u0027s best to clean up its existing use and let developers\nuse their own implementation of it as they feel fit.\n\nSigned-off-by: Anirban Sinha \u003casinha@zeugmasystems.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42c2c8c854a716b05882a122632ddcd6dbe108f1",
      "tree": "982192ec05b5be92a33f52c6e145cfafcdb43395",
      "parents": [
        "1aaad49e856ce41adc07d8ae0c8ef35fc4483245"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "Sonic.Zhang@analog.com",
        "time": "Thu Aug 06 15:58:11 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 08 18:27:37 2009 +0200"
      },
      "message": "printk: Fix \"printk: Enable the use of more than one CON_BOOT (early console)\"\n\nDon\u0027t return when we find the first bootconsole - it can leave\nother bootconsoles still installed, and they can be used and\ncause problems later (if they are in the init section, and\neventually released), and cause problems.  Make sure we remove\nall of them.\n\nSigned-off-by: Sonic Zhang \u003cSonic.Zhang@analog.com\u003e\nSigned-off-by: Robin Getz \u003crgetz@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1aaad49e856ce41adc07d8ae0c8ef35fc4483245",
      "tree": "0f5b0ef305ad1b2c79132729d44ffbad72a84b84",
      "parents": [
        "8259cf4342029aad37660e524178c8858f48b0ab"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Mon Jul 06 13:31:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 16:02:23 2009 +0200"
      },
      "message": "printk: Restore previous console_loglevel when re-enabling logging\n\nWhen logging to console is disabled from userspace using klogctl()\nand later re-enabled, console_loglevel gets set to the default\nlog level instead to the previous value.\n\nThis means that if the kernel was booted with \u0027quiet\u0027, the boot is\nsuddenly no longer quiet after logging to console gets re-enabled.\n\nSave the current console_loglevel when logging is disabled and\nrestore to that value. If the log level is set to a specific value\nwhile disabled, this is interpreted as an implicit re-enabling of\nthe logging.\n\nThe problem that prompted this patch is described in:\n\n    http://lkml.org/lkml/2009/6/28/234\n\nThere are two variations possible on the patch below:\n\n 1) If klogctl(7) is called while logging is not disabled, then set level\n    to default (partially preserving current functionality):\n  \tcase 7:\t\t/* Enable logging to console */\n -\t\tconsole_loglevel \u003d default_console_loglevel;\n +\t\tif (saved_console_loglevel \u003d\u003d -1)\n +\t\t\tconsole_loglevel \u003d default_console_loglevel;\n +\t\telse {\n +\t\t\tconsole_loglevel \u003d saved_console_loglevel;\n +\t\t\tsaved_console_loglevel \u003d -1;\n +\t\t}\n\n 2) If klogctl(8) is called while logging is disabled, then don\u0027t enable\n    logging, but remember the requested value for when logging does get\n    enabled again:\n  \tcase 8:\t\t/* Set level of messages printed to console */\n [...]\n - \t\tconsole_loglevel \u003d len;\n +\t\tif (saved_console_loglevel \u003d\u003d -1)\n +\t\t\tconsole_loglevel \u003d len;\n +\t\telse\n +\t\t\tsaved_console_loglevel \u003d len;\n\nYet another option would be to ignore the request.\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nCc: cryptsetup@packages.debian.org\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c200907061331.49930.elendil@planet.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8259cf4342029aad37660e524178c8858f48b0ab",
      "tree": "c0f7f931c6daca79a941dcab142cf49059a8722f",
      "parents": [
        "4d09161196c9a836eacea4b36e2f217bc34894cf"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Thu Jul 09 13:08:37 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 12:24:47 2009 +0200"
      },
      "message": "printk: Ensure that \"console enabled\" messages are printed on the console\n\nToday, when a console is registered without CON_PRINTBUFFER,\nend users never see the announcement of it being added, and\nnever know if they missed something, if the console is really\nat the start or not, and just leads to general confusion.\n\nThis re-orders existing code, to make sure the console is\nadded, before the \"console [%s%d] enabled\" is printed out -\nensuring that this message is _always_ seen.\n\nThis has the desired/intended side effect of making sure that\n\"console enabled:\" messages are printed on the bootconsole, and\nthe real console. This does cause the same line is printed\ntwice if the bootconsole and real console are the same device,\nbut if they are on different devices, the message is printed to\nboth consoles.\n\nSigned-off-by : Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: \"Andrew Morton\" \u003cakpm@linux-foundation.org\u003e\nCc: \"Linus Torvalds\" \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c200907091308.37370.rgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d09161196c9a836eacea4b36e2f217bc34894cf",
      "tree": "d6ca11be7c741a4380f383bea4dc6c36a9587f77",
      "parents": [
        "7c5371c403abb29f01bc6cff6c5096abdf2dc524"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Wed Jul 01 21:08:37 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 10:10:43 2009 +0200"
      },
      "message": "printk: Enable the use of more than one CON_BOOT (early console)\n\nToday, register_console() assumes the following usage:\n\n  - The first console to register with a flag set to CON_BOOT\n    is the one and only bootconsole.\n\n  - If another register_console() is called with an additional\n    CON_BOOT, it is silently rejected.\n\n  - As soon as a console without the CON_BOOT set calls\n    registers the bootconsole is automatically unregistered.\n\n  - Once there is a \"real\" console - register_console() will\n    silently reject any consoles with it\u0027s CON_BOOT flag set.\n\nIn many systems (alpha, blackfin, microblaze, mips, powerpc,\nsh, \u0026 x86), there are early_printk implementations, which use\nthe CON_BOOT which come out serial ports, vga, usb, \u0026 memory\nbuffers.\n\nIn many embedded systems, it would be nice to have two\nbootconsoles - in case the primary fails, you always have\naccess to a backup memory buffer - but this requires at least\ntwo CON_BOOT consoles...\n\nThis patch enables that functionality.\n\nWith the change applied, on boot you get (if you try to\nre-enable a boot console after the \"real\" console has been\nregistered):\n\n  root:/\u003e dmesg | grep console\n  bootconsole [early_shadow0] enabled\n  bootconsole [early_BFuart0] enabled\n  Kernel command line: root\u003d/dev/mtdblock0 rw earlyprintk\u003dserial,uart0,57600 console\u003dttyBF0,57600 nmi_debug\u003dregs\n  console handover:boot [early_BFuart0] boot [early_shadow0]  -\u003e real [ttyBF0]\n  Too late to register bootconsole early_shadow0\n\nor:\n\n  root:/\u003e dmesg | grep console\n  Kernel command line: root\u003d/dev/mtdblock0 rw console\u003dttyBF0,57600\n  console [ttyBF0] enabled\n\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: \"Linus Torvalds\" \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Andrew Morton\" \u003cakpm@linux-foundation.org\u003e\nCc: \"Mike Frysinger\" \u003cvapier.adi@gmail.com\u003e\nCc: \"Paul Mundt\" \u003clethal@linux-sh.org\u003e\nLKML-Reference: \u003c200907012108.38030.rgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e28d713704117bca0820c732210df6075b09f13b",
      "tree": "c2c8b2a40cb5081e8b6368eecc21220ee59903bf",
      "parents": [
        "5fd29d6ccbc98884569d6f3105aeca70858b3e0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "message": "printk: Add KERN_DEFAULT printk log-level\n\nThis adds a KERN_DEFAULT loglevel marker, for when you cannot decide\nwhich loglevel you want, and just want to keep an existing printk\nwith the default loglevel.\n\nThe difference between having KERN_DEFAULT and having no log-level\nmarker at all is two-fold:\n\n - having the log-level marker will now force a new-line if the\n   previous printout had not added one (perhaps because it forgot,\n   but perhaps because it expected a continuation)\n\n - having a log-level marker is required if you are printing out a\n   message that otherwise itself could perhaps otherwise be mistaken\n   for a log-level.\n\nSigned-of-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fd29d6ccbc98884569d6f3105aeca70858b3e0f",
      "tree": "93ac507debc6b35e5863116086c57170618099cf",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "message": "printk: clean up handling of log-levels and newlines\n\nIt used to be that we would only look at the log-level in a printk()\nafter explicit newlines, which can cause annoying problems when the\nprevious printk() did not end with a \u0027\\n\u0027. In that case, the log-level\nmarker would be just printed out in the middle of the line, and be\nseen as just noise rather than change the logging level.\n\nThis changes things to always look at the log-level in the first\nbytes of the printout. If a log level marker is found, it is always\nused as the log-level. Additionally, if no newline existed, one is\nadded (unless the log-level is the explicit KERN_CONT marker, to\nexplicitly show that it\u0027s a continuation of a previous line).\n\nAcked-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c393fd551654179c46b65e4a70ea20d831c783",
      "tree": "087c5c1f514a2ffeb75c925545e584fb269bea3a",
      "parents": [
        "0a053e8c71d666daf30da2d407147b1293923d8b",
        "38a6ed3ed8e108b662f4016a1ebf068dcf4c1ef4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "message": "Merge branch \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  printk: correct the behavior of printk_timed_ratelimit()\n  vsprintf: unify the format decoding layer for its 3 users, cleanup\n  fix regression from \"vsprintf: unify the format decoding layer for its 3 users\"\n  vsprintf: fix bug in negative value printing\n  vsprintf: unify the format decoding layer for its 3 users\n  vsprintf: add binary printf\n  printk: introduce printk_once()\n\nFix trivial conflicts (printk_once vs log_buf_kexec_setup() added near\neach other) in include/linux/kernel.h.\n"
    },
    {
      "commit": "04d491ab2a53008a1aa98ac09561768c7f3adda3",
      "tree": "ab8fff6fb8674c8061b733ce64d6d6fba9d68ff3",
      "parents": [
        "23c36c1aec895fd52d7dd8cd3ce4bbce43c969fd"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Apr 02 16:58:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:04 2009 -0700"
      },
      "message": "kexec: add dmesg log symbols to /proc/vmcoreinfo lists\n\nIt would be nice to be able to extract the dmesg log from a vmcore file\nwithout needing to keep the debug symbols for the running kernel handy all\nthe time.  We have a facility to do this in /proc/vmcore.  This patch adds\nthe log_buf and log_end symbols to the vmcoreinfo area so that tools (like\nmakedumpfile) can easily extract the dmesg logs from a vmcore image.\n\n[akpm@linux-foundation.org: several fixes and cleanups]\n[akpm@linux-foundation.org: fix unused log_buf_kexec_setup()]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: 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": "f2d28a2ebcb525a6ec7e2152106ddb385ef52b73",
      "tree": "207920700ba3c7c7091d547184c883e7bd05a2a8",
      "parents": [
        "47239561e39bceefecc3cd67f71fcf86a198a8ff"
      ],
      "author": {
        "name": "Guillaume Knispel",
        "email": "gknispel@proformatique.com",
        "time": "Tue Mar 17 16:18:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 16:25:28 2009 +0100"
      },
      "message": "printk: correct the behavior of printk_timed_ratelimit()\n\nImpact: fix jiffies-comparison sign-wrap behavior\n\nThe behavior provided by printk_timed_ratelimit() is, in some\nsituations, probably not what a caller would reasonably expect:\n\nbool printk_timed_ratelimit(unsigned long *caller_jiffies,\n\t\t\tunsigned int interval_msecs)\n{\n\tif (*caller_jiffies \u003d\u003d 0 || time_after(jiffies, *caller_jiffies)) {\n\t\t*caller_jiffies \u003d jiffies + msecs_to_jiffies(interval_msecs);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nOn a 32 bit computer, if printk_timed_ratelimit() is initially called at\ntime jiffies \u003d\u003d Ja, *caller_jiffies is set to\nJa + msecs_to_jiffies(interval_msecs): let\u0027s say Ja + 42 for this\nexample.\n\nIf this caller then doesn\u0027t call printk_timed_ratelimit() until\njiffies \u003d\u003d Ja + (1 \u003c\u003c 31) + 42 (which can happen as soon as ~ 25 days\nlater on a 1000 HZ system), printk_timed_ratelimit() will then always\nreturn false to this caller until jiffies loops completely (1 \u003c\u003c 31 more\nticks).\n\nThs change makes it only return false if jiffies is in the small\ntime window starting at the previous call when true was returned and\nending interval_msecs later.  Note that if jiffies loops completely\nbetween two calls to printk_timed_ratelimit(), it will obviously still\nwrongly return false, but this is something with a low probability.\n\nIf something completely reliable is needed I guess jiffies_64 must be\nused (which this change does not do).\n\nSigned-off-by: Guillaume Knispel \u003cgknispel@proformatique.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20090317161842.0059096b@xilun.lan.proformatique.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "403f307576396f3362fbb65af190885b6036c72c",
      "tree": "d3737ebe960d65152b7ee119b8b5a7ad2d59e09b",
      "parents": [
        "b090f9fa53d51c8a33370071de9e391919ee1fa7"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:07:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:18 2009 -0800"
      },
      "message": "PM: Fix suspend_console and resume_console to use only one semaphore\n\nThis fixes a race where a thread acquires the console while the\nconsole is suspended, and the console is resumed before this\nthread releases it. In this case, the secondary console\nsemaphore would be left locked, and the primary semaphore would\nbe released twice. This in turn would cause the console switch\non suspend or resume to hang forever.\n\nNote that suspend_console does not actually lock the console\nfor clients that use acquire_console_sem, it only locks it for\nclients that use try_acquire_console_sem. If we change\nsuspend_console to fully lock the console, then the kernel\nmay deadlock on suspend. One client of try_acquire_console_sem\nis acquire_console_semaphore_for_printk, which uses it to\nprevent printk from using the console while it is suspended.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e7bfb2134dfec37ce04fb3a4ca89299e892d10c",
      "tree": "99c676262e696754dcbfb2d6f59499972cd0c38c",
      "parents": [
        "c4ea37c26a691ad0b7e86aa5884aab27830e95c9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:29 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 27\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "f627a741d24f12955fa2d9f8831c3b12860635bd",
      "tree": "2b96ea5be1df1978fd08544929c2ab3d4fbad8ba",
      "parents": [
        "c9da9f2129d6a421c32e334a83770a9e67f7feac"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:58 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:16 2009 +0100"
      },
      "message": "[CVE-2009-0029] Make sys_syslog a conditional system call\n\nRemove the -ENOSYS implementation for !CONFIG_PRINTK and use\nthe cond_syscall infrastructure instead.\n\nAcked-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "edb123e16c6092bd08b67d1130ff03efeada0c89",
      "tree": "092b92af4af4c31719d7ad0a23b932650992f95c",
      "parents": [
        "277835adca10a696ac3e2a103ea537658c141a3c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Dec 04 12:39:49 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: printk: fix indentation of new_text_line declaration\n\nRemove bogus indentation of new_text_line declaration introduced in\ncommit ac60ad741.\n\nAcked-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "26cc271db798cf211d35967cbfbb53e997126b84",
      "tree": "c4131ca7cdf2cfbc90c421b82e2b3b88b8927e6a",
      "parents": [
        "929096fe9ff1f4b3645cf3919527ab47e8d5e17c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Fri Dec 19 10:23:03 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 22:52:47 2008 +0100"
      },
      "message": "printk: fix discarding message when recursion_bug\n\nImpact: fix truncated recursion bug message printout\n\nWhen recursion_bug is true, kernel discards original message because printk_buf\ncontains recursion_bug_msg with NULL terminator. The sizeof(recursion_bug_msg)\nmakes this, use strlen() to get correct length without NULL terminator.\n\nReported-by: Toshikazu Nakayama \u003cnakayama.ts@ncos.nec.co.jp\u003e\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acff181d3574244e651913df77332e897b88bff4",
      "tree": "ff3ccaeb76856d7b6e14a6bf35f3d356be34adb9",
      "parents": [
        "d2441183dc222d12961ff2201f5086c846505d93"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Oct 21 19:49:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 21:54:29 2008 +0200"
      },
      "message": "printk: remove unused code from kernel/printk.c\n\nboth log_buf_copy() and log_buf_len are unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e533b227055598b1f7dc8503a3b4f36b14b9da8a",
      "tree": "28fec4125eac45c8e2fac75b3d10ff5cd987d2f6",
      "parents": [
        "0999d978dcdcf59350dafa25afd70def9f924eee",
        "6b2ada82101a08e2830fb29d7dc9b858be637dd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "message": "Merge branch \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails\n  softirq, warning fix: correct a format to avoid a warning\n  softirqs, debug: preemption check\n  x86, pci-hotplug, calgary / rio: fix EBDA ioremap()\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes\n  softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description\n  dmi scan: warn about too early calls to dmi_check_system()\n  generic: redefine resource_size_t as phys_addr_t\n  generic: make PFN_PHYS explicitly return phys_addr_t\n  generic: add phys_addr_t for holding physical addresses\n  softirq: allocate less vectors\n  IO resources: fix/remove printk\n  printk: robustify printk, update comment\n  printk: robustify printk, fix #2\n  printk: robustify printk, fix\n  printk: robustify printk\n\nFixed up conflicts in:\n\tarch/powerpc/include/asm/types.h\n\tarch/powerpc/platforms/Kconfig.cputype\nmanually.\n"
    },
    {
      "commit": "20036fdcaf05fac0a84ed81a56906493a7d822e2",
      "tree": "df06d92ffa8190dfafa59cbb7528564f8d0a055a",
      "parents": [
        "9536727ef696861b205834dd2e01456b91088cb7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Oct 15 22:02:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Add kerneldoc documentation for new printk format extensions\n\nAdd documentation in kerneldoc for new printk format extensions\n\nThis patch documents the new %pS/%pF options in printk in kernel doc.\n\nHope I didn\u0027t miss any other extension.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1f8e87449147ffe5ea3de64a46af7de450ce279",
      "tree": "304e90a6747f5a7586a67305b7225ed4b4dbb53a",
      "parents": [
        "8033fe65a6d6c0e47ba9e3cb2e4e6902f9dfb8dd"
      ],
      "author": {
        "name": "Francois Cami",
        "email": "francois.cami@free.fr",
        "time": "Wed Oct 15 22:01:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Remove Andrew Morton\u0027s old email accounts\n\nPeople can use the real name an an index into MAINTAINERS to find the\ncurrent email address.\n\nSigned-off-by: Francois Cami \u003cfrancois.cami@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b2ada82101a08e2830fb29d7dc9b858be637dd4",
      "tree": "c0580c250211f8773674f3a4f7cd575818f153cc",
      "parents": [
        "278429cff8809958d25415ba0ed32b59866ab1a8",
        "3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02",
        "77af7e3403e7314c47b0c07fbc5e4ef21d939532",
        "15160716eea5591eb31f40fd4dba56d83bea4209",
        "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
        "85462323555dda749f1c5373a8d72679464c968d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "message": "Merge branches \u0027core/softlockup\u0027, \u0027core/softirq\u0027, \u0027core/resources\u0027, \u0027core/printk\u0027 and \u0027core/misc\u0027 into core-v28-for-linus\n"
    },
    {
      "commit": "95f9bfc6b76e862265a2d70ae061eec18fe14140",
      "tree": "88e72e0d31b9f368d5c9dcb3e0d92994effe5edc",
      "parents": [
        "452a00d2ee288f2cbc36f676edd06cb14d2878c1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:23 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: Move tty_write_message out of kernel/printk\n\nThis is pure tty code so put it in the tty layer where it can be with the\nlocking relevant material it uses\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
      "tree": "32da7727193eeb85cb71e8b347afce76997abe89",
      "parents": [
        "fa33507a22623b3bd543b15a21c362cf364b6cff"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 20 14:40:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 20 15:39:59 2008 +0200"
      },
      "message": "printk: robustify printk, update comment\n\nRemove the comment describing the possibility of printk() deadlocking on\nrunqueue lock.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa33507a22623b3bd543b15a21c362cf364b6cff",
      "tree": "8d77dfaad0336c5591383df1029567d7e6c17bbd",
      "parents": [
        "ced9cd40ac14111befd6b0c73ec90106c22a3fd7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Aug 20 09:31:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 20 12:22:37 2008 +0200"
      },
      "message": "printk: robustify printk, fix #2\n\nDmitry Adamushko reported:\n\n\u003e [*] btw., with DEBUG being enabled, pr_debug() generates [1] when\n\u003e debug_smp_processor_id() is used (CONFIG_DEBUG_PREEMPT).\n\u003e\n\u003e the problem seems to be caused by the following commit:\n\u003e commit b845b517b5e3706a3729f6ea83b88ab85f0725b0\n\u003e Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\u003e Date:   Fri Aug 8 21:47:09 2008 +0200\n\u003e\n\u003e     printk: robustify printk\n\u003e\n\u003e\n\u003e wake_up_klogd() -\u003e __get_cpu_var() -\u003e smp_processor_id()\n\u003e\n\u003e and that\u0027s being called from release_console_sem() which is, in turn,\n\u003e said to be \"may be called from any context\" [2]\n\u003e\n\u003e and in this case, it seems to be called from some non-preemptible\n\u003e context (although, it can\u0027t be printk()...\n\u003e although, I haven\u0027t looked carefully yet).\n\u003e\n\u003e Provided [2], __get_cpu_var() is perhaps not the right solution there.\n\u003e\n\u003e\n\u003e [1]\n\u003e\n\u003e [ 7697.942005] BUG: using smp_processor_id() in preemptible [00000000] code: syslogd/3542\n\u003e [ 7697.942005] caller is wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005] Pid: 3542, comm: syslogd Not tainted 2.6.27-rc3-tip-git #2\n\u003e [ 7697.942005] Call Trace:\n\u003e [ 7697.942005]  [\u003cffffffff8036b398\u003e] debug_smp_processor_id+0xe8/0xf0\n\u003e [ 7697.942005]  [\u003cffffffff80239d3b\u003e] wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005]  [\u003cffffffff8023a047\u003e] release_console_sem+0x1e7/0x200\n\u003e [ 7697.942005]  [\u003cffffffff803c0f17\u003e] do_con_write+0xb7/0x1f30\n\u003e [ 7697.942005]  [\u003cffffffff8020d920\u003e] ? show_trace+0x10/0x20\n\u003e [ 7697.942005]  [\u003cffffffff8020dc42\u003e] ? dump_stack+0x72/0x80\n\u003e [ 7697.942005]  [\u003cffffffff8036392d\u003e] ? __ratelimit+0xbd/0xe0\n\u003e [ 7697.942005]  [\u003cffffffff8036b398\u003e] ? debug_smp_processor_id+0xe8/0xf0\n\u003e [ 7697.942005]  [\u003cffffffff80239d3b\u003e] ? wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005]  [\u003cffffffff8023a047\u003e] ? release_console_sem+0x1e7/0x200\n\u003e [ 7697.942005]  [\u003cffffffff803c2de9\u003e] con_write+0x19/0x30\n\u003e [ 7697.942005]  [\u003cffffffff803b37b6\u003e] write_chan+0x276/0x3c0\n\u003e [ 7697.942005]  [\u003cffffffff80232b20\u003e] ? default_wake_function+0x0/0x10\n\u003e [ 7697.942005]  [\u003cffffffff804cb872\u003e] ? _spin_lock_irqsave+0x22/0x50\n\u003e [ 7697.942005]  [\u003cffffffff803b1334\u003e] tty_write+0x194/0x260\n\u003e [ 7697.942005]  [\u003cffffffff803b3540\u003e] ? write_chan+0x0/0x3c0\n\u003e [ 7697.942005]  [\u003cffffffff803b14a4\u003e] redirected_tty_write+0xa4/0xb0\n\u003e [ 7697.942005]  [\u003cffffffff803b1400\u003e] ? redirected_tty_write+0x0/0xb0\n\u003e [ 7697.942005]  [\u003cffffffff802a88c2\u003e] do_loop_readv_writev+0x52/0x80\n\u003e [ 7697.942005]  [\u003cffffffff802a939d\u003e] do_readv_writev+0x1bd/0x1d0\n\u003e [ 7697.942005]  [\u003cffffffff802a93e9\u003e] vfs_writev+0x39/0x60\n\u003e [ 7697.942005]  [\u003cffffffff802a9870\u003e] sys_writev+0x50/0x90\n\u003e [ 7697.942005]  [\u003cffffffff8020bb3b\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b845b517b5e3706a3729f6ea83b88ab85f0725b0",
      "tree": "4311e4c2e6c3fdbdbe89149d1501944294186455",
      "parents": [
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 08 21:47:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:46:53 2008 +0200"
      },
      "message": "printk: robustify printk\n\nAvoid deadlocks against rq-\u003elock and xtime_lock by deferring the klogd\nwakeup by polling from the timer tick.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "641de9d8f505db055d451b50e6e38117f84e79bb",
      "tree": "af9cbd5390321a7f5a6b245215c79289930f41bd",
      "parents": [
        "8f3d137e0d6cd470a4e404cbc67480a0febdb0b1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Tue Jul 29 22:33:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:45 2008 -0700"
      },
      "message": "printk: fix comment for printk ratelimiting\n\nThe comment assumed the burst to be one and the ratelimit used to be named\nprintk_ratelimit_jiffies.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Dave Young \u003chidave.darkstar@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": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@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": "0d63081d418c73cc187c893069e0f24c4c6eecd3",
      "tree": "2ee2d001d47dd38173820efbd915ed9120817575",
      "parents": [
        "fb9ba4e95921f71d874beee2d0964fc2322b47a2"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Wed Jul 23 21:28:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "swsusp: provide users with a hint about the no_console_suspend option\n\nTell the user about the no_console_suspend option, so that we don\u0027t have to\ntell each bug reporter personally.\n\n[akpm@linux-foundation.org: clarify the text a little]\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bb0057f996b1491f93a64879f4c53c83bc0f0c7",
      "tree": "f216e244a6f88ede277a3687499dbb1762a3c37a",
      "parents": [
        "116a9fb3ed98c19d1ee0c6c55971f5b753949393",
        "9e4144abf8a30ae221311368bbb10690ebdb4b76"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 15:27:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 15:27:43 2008 -0700"
      },
      "message": "Merge branch \u0027core/printk\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/printk\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, generic: mark early_printk as asmlinkage\n  printk: export console_drivers\n  printk: remember the message level for multi-line output\n  printk: refactor processing of line severity tokens\n  printk: don\u0027t prefer unsuited consoles on registration\n  printk: clean up recursion check related static variables\n  namespacecheck: more kernel/printk.c fixes\n  namespacecheck: fix kernel printk.c\n"
    },
    {
      "commit": "5806b81ac1c0c52665b91723fd4146a4f86e386b",
      "tree": "24ea8763bf308ce1407c1de91dc8de4d2655e1c1",
      "parents": [
        "d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8",
        "6712e299b7dc78aa4971b85e803435ee6d49a9dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "message": "Merge branch \u0027auto-ftrace-next\u0027 into tracing/for-linus\n\nConflicts:\n\n\tarch/x86/kernel/entry_32.S\n\tarch/x86/kernel/process_32.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/lib/Makefile\n\tinclude/asm-x86/irqflags.h\n\tkernel/Makefile\n\tkernel/sched.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae94b8075a2ed58d2318ef03827b25bc844f844e",
      "tree": "7211f558d841cb40e1015d0b7527643ad55cb8e7",
      "parents": [
        "eca91e7838ec92e8c12122849ec7539c4765b689",
        "a26929fb489188ff959b1715ee67f0c9f84405b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/core\n\nConflicts:\n\n\tarch/x86/mm/ioremap.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bac0c9103b31c3dd83ad9d731dd9834e2ba75e4f",
      "tree": "702dd6a7ce06d224d594c2293af546b11ac9f51b",
      "parents": [
        "6329d3021bcfa9038621e6e917d98929421d8ec8",
        "98a05ed4bd7774f533ab185fe0bf2fdc58292d7c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:00 2008 +0200"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027 into auto-ftrace-next\n"
    },
    {
      "commit": "7683c57c489bd17795945f4ae1c1d73e7c7b38e3",
      "tree": "38866c5e3320e74150757b186f226475bd0b83c9",
      "parents": [
        "48948a3e237ff47823d414704aeb8604a4c61ad0"
      ],
      "author": {
        "name": "Daniel Guilak",
        "email": "guilak@linux.vnet.ibm.com",
        "time": "Tue Jul 08 15:02:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 08 18:10:34 2008 -0700"
      },
      "message": "kernel/printk.c: Made printk_recursion_bug_msg static.\n\nSigned-off-by: Daniel Guilak \u003cdaniel@danielguilak.com\u003e\nAcked-by: Josh Triplett \u003cjosh@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a29d1cfe9e9337aedeed505afddc8465ac709b87",
      "tree": "8cfd0edb899ee29d8bf3ef8777076d9ce5dff875",
      "parents": [
        "5a654ba7a88d90483d0f0586297ea9075d755fc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 13:19:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 14:11:27 2008 +0200"
      },
      "message": "printk: export console_drivers\n\nthis symbol is needed by drivers/video/xen-fbfront.ko.\n\n[ cherry-picked from tip/core/printk ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e17ba73b0ee6c0f24393c48b455e0d8db761782c",
      "tree": "4a5b1668d8b1251d546412f0285d11402f4d409c",
      "parents": [
        "87c8a64475f0597b7fd9c36d2f867ae8ef4a9eca"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon May 12 15:44:40 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 18 13:11:01 2008 +0200"
      },
      "message": "x86, generic: mark early_printk as asmlinkage\n\nIt\u0027s not explicitly marked as asmlinkage, but invoked from x86_32\nstartup code with parameters on stack.\n\nNo other architectures define early_printk and none of them are affected\nby this change, since defines asmlinkage as empty token.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "87c8a64475f0597b7fd9c36d2f867ae8ef4a9eca",
      "tree": "b6acb2c904314632c37748767cbb68c01b9bad83",
      "parents": [
        "091593080533a752ce66d12858d8c4105c8e1793"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 13:19:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 09:15:58 2008 +0200"
      },
      "message": "printk: export console_drivers\n\nthis symbol is needed by drivers/video/xen-fbfront.ko.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e124fe16ff24746d6de5a2ad685266d7bce0e08",
      "tree": "6be2bf0edd3799170c74f3fff15f1adf14e0380b",
      "parents": [
        "a15af1c9ea2750a9ff01e51615c45950bad8221b"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Mon May 26 23:31:07 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:36 2008 +0200"
      },
      "message": "xen: Enable console tty by default in domU if it\u0027s not a dummy\n\nWithout console\u003d arguments on the kernel command line, the first\nconsole to register becomes enabled and the preferred console (the one\nbehind /dev/console).  This is normally tty (assuming\nCONFIG_VT_CONSOLE is enabled, which it commonly is).\n\nThis is okay as long tty is a useful console.  But unless we have the\nPV framebuffer, and it is enabled for this domain, tty0 in domU is\nmerely a dummy.  In that case, we want the preferred console to be the\nXen console hvc0, and we want it without having to fiddle with the\nkernel command line.  Commit b8c2d3dfbc117dff26058fbac316b8acfc2cb5f7\ndid that for us.\n\nSince we now have the PV framebuffer, we want to enable and prefer tty\nagain, but only when PVFB is enabled.  But even then we still want to\nenable the Xen console as well.\n\nProblem: when tty registers, we can\u0027t yet know whether the PVFB is\nenabled.  By the time we can know (xenstore is up), the console setup\ngame is over.\n\nSolution: enable console tty by default, but keep hvc as the preferred\nconsole.  Change the preferred console to tty when PVFB probes\nsuccessfully, unless we\u0027ve been given console kernel parameters.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "091593080533a752ce66d12858d8c4105c8e1793",
      "tree": "de8793133104a9a19bbba971d3bfb84408e4cdbb",
      "parents": [
        "ac60ad7413ca8208094609a3b88ed9b1ed012fbc"
      ],
      "author": {
        "name": "Nick Andrew",
        "email": "nick@nick-andrew.net",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:19 2008 +0200"
      },
      "message": "printk: remember the message level for multi-line output\n\nprintk(KERN_ALERT \"Danger Will Robinson!\\nAlien Approaching!\\n\");\n\nAt present this will result in one message at ALERT level and one\nat the current default message loglevel (e.g. WARNING). This is\nnon-intuitive.\n\nModify vprintk() to remember the message loglevel each time it\nis specified and use it for subsequent lines of output which do\nnot specify one, within the same call to printk.\n\nSigned-off-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ac60ad7413ca8208094609a3b88ed9b1ed012fbc",
      "tree": "addd789d3839619b97bb36886ef7f597d1a49ea2",
      "parents": [
        "cd3a1b8562d28490b334a61d5eb05df3d722d91e"
      ],
      "author": {
        "name": "Nick Andrew",
        "email": "nick@nick-andrew.net",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:12 2008 +0200"
      },
      "message": "printk: refactor processing of line severity tokens\n\nRestructure the logic of vprintk() so the processing of the leading\n3 characters of each input line is in one place, regardless whether\nprintk_time is enabled. This makes the code smaller and easier to\nunderstand.\n\nsize reduction in kernel/printk.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   6157\t    397\t1049804\t1056358\t 101e66\tprintk.o.before\n   6117\t    397\t1049804\t1056318\t 101e3e\tprintk.o.after\n\nand some style uncleanlinesses removed as well as a side-effect:\n\n Before:\n    total: 19 errors, 22 warnings, 1340 lines checked\n After:\n    total: 17 errors, 22 warnings, 1333 lines checked\n\nSigned-off-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd3a1b8562d28490b334a61d5eb05df3d722d91e",
      "tree": "a0143f57cdc9e22fe8c0498e48a029c3fd7177ef",
      "parents": [
        "3b8945e8d40645eecdb7d2357ca531f9b4dd9f71"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:07 2008 +0200"
      },
      "message": "printk: don\u0027t prefer unsuited consoles on registration\n\nconsole election: If some console happens to be registered first which does\nnot provide a tty binding (!console-\u003edevice), it prevents that more suited\nconsoles which are registered later on can enter the candidate pool for\nconsole_device().  This is observable with KGDB\u0027s console which may already\nbe registered (and exploited!) during early debugger connections, that is\nbefore any regular console registration.\n\nThis patch fixes the issue by postponing the final, automated\npreferred_console selection until someone with a non-NULL device handler\ncomes around.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3b8945e8d40645eecdb7d2357ca531f9b4dd9f71",
      "tree": "7338d48670e07713b0f5d5236ee6f94644d6a9c8",
      "parents": [
        "42fdfa238a23643226910acf922ea930b3286032"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:02 2008 +0200"
      },
      "message": "printk: clean up recursion check related static variables\n\nMake printk_recursion_bug_msg static and drop printk prefix from recursion\nvariables.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42fdfa238a23643226910acf922ea930b3286032",
      "tree": "12df3576d50e001bdfcddffe90912ee2a194936a",
      "parents": [
        "7f6f3a39d258adf51f0fb1fe0dab52272a1c61a4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:14:51 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:14:51 2008 +0200"
      },
      "message": "namespacecheck: more kernel/printk.c fixes\n\n[ Stephen Rothwell \u003csfr@canb.auug.org.au\u003e: build fix ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7f6f3a39d258adf51f0fb1fe0dab52272a1c61a4",
      "tree": "13e80c7459f521a9d7dc412fc60a9b4f18919824",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:12:18 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:12:18 2008 +0200"
      },
      "message": "namespacecheck: fix kernel printk.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "81d68a96a39844853b37f20cc8282d9b65b78ef3",
      "tree": "bbc05f415930c15fb5a1004620bd77585fcec43a",
      "parents": [
        "352ad25aa4a189c667cb2af333948d34692a2d27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:32:46 2008 +0200"
      },
      "message": "ftrace: trace irq disabled critical timings\n\nThis patch adds latency tracing for critical timings\n(how long interrupts are disabled for).\n\n \"irqsoff\" is added to /debugfs/tracing/available_tracers\n\nNote:\n  tracing_max_latency\n    also holds the max latency for irqsoff (in usecs).\n   (default to large number so one must start latency tracing)\n\n  tracing_thresh\n    threshold (in usecs) to always print out if irqs off\n    is detected to be longer than stated here.\n    If irq_thresh is non-zero, then max_irq_latency\n    is ignored.\n\nHere\u0027s an example of a trace with ftrace_enabled \u003d 0\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------\n latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1d.s3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1d.s3  100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1d.s3  100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAnd this is a trace with ftrace_enabled \u003d\u003d 1\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\n--------------------------------------------------------------------\n latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1dNs3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000])\n swapper-0     1dNs3   46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000])\n swapper-0     1dNs3   47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000])\n swapper-0     1dNs3   47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47)\n swapper-0     1dNs3   97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50)\n swapper-0     1dNs3   98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000])\n swapper-0     1dNs3   99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000])\n swapper-0     1dNs3  101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f735295b14ae073a8302d7b1da894bc597724557",
      "tree": "844555a3a768ad6eef3d6884b6b114cebefa0ec4",
      "parents": [
        "f7511d5f66f01fc451747b24e79f3ada7a3af9af"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Wed Apr 30 00:54:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "printk: don\u0027t read beyond string arguments\u0027 terminating zero\n\nFix update_console_cmdline() not to to read beyond the terminating zero of its\nname argument.\n\nSigned-off-by: Markus Armbruster \u003carmbru@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": "f7511d5f66f01fc451747b24e79f3ada7a3af9af",
      "tree": "934196c15e43077641e35286078a6753700a3e3d",
      "parents": [
        "730f412c08c13858f7681bac0a2770fbc9159fed"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 30 00:54:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "Basic braille screen reader support\n\nThis adds a minimalistic braille screen reader support.  This is meant to\nbe used by blind people e.g.  on boot failures or when / cannot be mounted\netc and thus the userland screen readers can not work.\n\n[akpm@linux-foundation.org: fix exports]\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Jiri Kosina \u003cjikos@jikos.cz\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: 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": "f34d7a5b7010b82fe97da95496b9971435530062",
      "tree": "87e2abec1e33ed4fe5e63ee2fd000bc2ad745e57",
      "parents": [
        "251b8dd7eee30fda089a1dc088abf4fc9a0dee9c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:54:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:47 2008 -0700"
      },
      "message": "tty: The big operations rework\n\n- Operations are now a shared const function block as with most other Linux\n  objects\n\n- Introduce wrappers for some optional functions to get consistent behaviour\n\n- Wrap put_char which used to be patched by the tty layer\n\n- Document which functions are needed/optional\n\n- Make put_char report success/fail\n\n- Cache the driver-\u003eops pointer in the tty as tty-\u003eops\n\n- Remove various surplus lock calls we no longer need\n\n- Remove proc_write method as noted by Alexey Dobriyan\n\n- Introduce some missing sanity checks where certain driver/ldisc\n  combinations would oops as they didn\u0027t check needed methods were present\n\n[akpm@linux-foundation.org: fix fs/compat_ioctl.c build]\n[akpm@linux-foundation.org: fix isicom]\n[akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build]\n[akpm@linux-foundation.org: fix kgdb]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f97a5a8799b8d7d0afdb9d68a50a4e0e8298a05",
      "tree": "03f0a35e50e9a765603fc9249e601b52e043fd0d",
      "parents": [
        "762873c251b056c6c1b29e83a4dabafb064e5421"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Apr 29 00:59:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:06 2008 -0700"
      },
      "message": "isolate ratelimit from printk.c for other use\n\nDue to the rcupreempt.h WARN_ON trigged, I got 2G syslog file.  For some\nserious complaining of kernel, we need repeat the warnings, so here I isolate\nthe ratelimit part of printk.c to a standalone file.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.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": "093a07e2fdfaddab7fc7d4adc76cc569c86603d7",
      "tree": "baaa4d86680347a0687ebfbe133d7b253b88102c",
      "parents": [
        "0de19a456cb59106420864927fdec152310f70b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "message": "Fix locking bug in \"acquire_console_semaphore_for_printk()\"\n\nWhen I cleaned up printk() and split up the printk locking logic in\ncommit 266c2e0abeca649fa6667a1a427ad1da507c6375 (\"Make printk() console\nsemaphore accesses sensible\") I had incorrectly moved the call to\nhave_callable_console() outside of the console semaphore.\n\nThat was buggy.  The console semaphore protects the console_drivers list\nthat is used by have_callable_console().\n\nThanks go to Bongani Hlope who saw this as a hang on shutdown and reboot\nand bisected the bug to the right commit, and tested this patch. See\n\n\thttp://lkml.org/lkml/2008/4/11/315\n\nBisected-and-tested-by: Bongani Hlope \u003cbonganilinux@mweb.co.za\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "266c2e0abeca649fa6667a1a427ad1da507c6375",
      "tree": "9eb832b4c5de234cc789eae00a36a1337cefe451",
      "parents": [
        "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "message": "Make printk() console semaphore accesses sensible\n\nThe printk() logic on when/how to get the console semaphore was\nunreadable, this splits the code up into a few helper functions and\nmakes it easier to follow what is going on.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf3680b90c7842cf91ed857ac4528f4e057da366",
      "tree": "f73af36b208fab34620808f0075cc54f51cfdfb0",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 14 10:32:07 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:42:37 2008 -0800"
      },
      "message": "printk: fix possible printk overrun\n\nprintk recursion detection prepends message to printk_buf and offsets\nprintk_buf when actual message is printed but it forgets to trim buffer\nlength accordingly. This can result in overrun in extreme cases. Fix it.\n\n[ mingo@elte.hu:\n\n  bug was introduced by me via:\n\n   commit 32a76006683f7b28ae3cc491da37716e002f198e\n   Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n   Date:   Fri Jan 25 21:07:58 2008 +0100\n\n       printk: make printk more robust by not allowing recursion\n]\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ef3d2fd17c377ef64a2aa19677d17576606c3b4",
      "tree": "036c2fe4a87bda412908bc82602ce29f4d431dbe",
      "parents": [
        "36e789144267105e0b3f2b9bca7db3184fce50dc"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Feb 08 04:21:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "printk_ratelimit() functions should use CONFIG_PRINTK\n\nMakes an embedded image a bit smaller.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a36219ac93b3fd029f5e800642226c57796c152f",
      "tree": "f630c97be9d4f792e662db1510cef244c1c8d637",
      "parents": [
        "3287629eff75c7323e875b942be82f7ac6ca18da"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Feb 08 04:20:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:36 2008 -0800"
      },
      "message": "The scheduled \u0027time\u0027 option removal\n\nThe scheduled removal of the \u0027time\u0027 option.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-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": "2dc9c913154b64efa8346e81cf298012f090c1b1",
      "tree": "7dcf383c27ef73ce1725468aa33bed4bd0300e31",
      "parents": [
        "18914b1884ebdbcd4d4454100502a23d1d2dba43"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Feb 08 04:20:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:34 2008 -0800"
      },
      "message": "Nuke duplicate include from printk.c\n\nRemove the duplicate inclusion of linux/jiffies.h from kernel/printk.c\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@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": "eed4a2aba7ff6d8c40d3d55b81f80352765ffcee",
      "tree": "8cfeca1d26aa56ca83210cf3628399333e98c90e",
      "parents": [
        "b3242151906372f30f57feaa43b4cac96a23edb1"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Wed Feb 06 01:37:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "printk.c: use unsigned ints instead of longs for logbuf index\n\nStop using unsigned _longs_ for printk buffer indexes.  Log buffer is way\nsmaller than 2 gigabytes and unsigned ints will work too .  Indeed, they do\nwork nicely on all 32-bit platforms where longs and ints are the same.\n\nWith this patch, we have following size savings on amd64:\n\n   text    data     bss     dec     hex filename\n   5997     313   17736   24046    5dee 2.6.23.1.t64/kernel/printk.o\n   5858     313   17700   23871    5d3f 2.6.23.1.printk.t64/kernel/printk.o\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4772d99300a9fc13c86aaa370e630c5973664f6",
      "tree": "afdc34662ecdb0522cab05690d55edb0a9eea85b",
      "parents": [
        "5aff0531ee2403b319e89bd04055fc41173e95fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:23 2008 +0100"
      },
      "message": "debug: turn ignore_loglevel into an early param\n\ni was debugging early crashes and wondered where all the printks\nwent. The reason: ignore_loglevel_setup() was not called yet ...\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "076f9776f5d8d131b36955db8641aba3893c2c1b",
      "tree": "b85e705ecfe34400c6e1188fb470572956a232ab",
      "parents": [
        "8866cd9dc9d0bbadcf361a14e0cdfecb66473087"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:06 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:06 2008 +0100"
      },
      "message": "x86: make early printk selectable on 64-bit as well\n\nEnable CONFIG_EMBEDDED to select CONFIG_EARLY_PRINTK on 64-bit as well.\n\nsaves ~2K:\n\n   text    data     bss     dec     hex filename\n   7290283 3672091 1907848 12870222         c4624e vmlinux.before\n   7288373 3671795 1907848 12868016         c459b0 vmlinux.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "326e96b92306b7af24a3608ec01156cba17a3fc1",
      "tree": "a70525568e34cc8c49e726435e9055ceab6e67dc",
      "parents": [
        "ef3f2de2b5496f721b12f21a157e19eac816394b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 27 08:03:54 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 27 08:03:54 2008 +0100"
      },
      "message": "printk: revert ktime_get() timestamps\n\nrevert 19ef9309273d26cb005cb23e6a370353dca91099.\n\nKevin Winchester reported a lockup during X startup an bisected\nit to this commit.\n\nReported-by: Kevin Winchester \u003ckjwinchester@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19ef9309273d26cb005cb23e6a370353dca91099",
      "tree": "5ca31fef94ed523c3df867ba3472e70d215ffb84",
      "parents": [
        "90739081ef8d5495d50abba9c5d333be9acd872a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "printk: use ktime_get()\n\nprintk timestamps: use ktime_get().\n\nSome platforms have a functioning clocksource function only after\nthey are done with early bootup, so delay this until out of\nSYSTEM_BOOTING state.\n\nit\u0027s also inherently safe now, as any bugs in this area will be\ncaught by the printk recursion checks.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b842271fbb9c8b5fd0e1c3e1895a3b67ba5bcc54",
      "tree": "e6fd8db6b1544056b13379b5e3c4cd8217231d86",
      "parents": [
        "d713f519332e029d43eca8462629314eee1ded86"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:07:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:07:59 2008 +0100"
      },
      "message": "sched: remove printk_clock()\n\nprintk_clock() is obsolete - it has been replaced with cpu_clock().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d713f519332e029d43eca8462629314eee1ded86",
      "tree": "2bce92a20518105d8884b2bf5ff6fb1b5e3d7636",
      "parents": [
        "32a76006683f7b28ae3cc491da37716e002f198e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:07:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:07:58 2008 +0100"
      },
      "message": "sched: fix CONFIG_PRINT_TIME\u0027s reliance on sched_clock()\n\nStefano Brivio reported weird printk timestamp behavior during\nCPU frequency changes:\n\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d9475\n\nfix CONFIG_PRINT_TIME\u0027s reliance on sched_clock() and use cpu_clock()\ninstead.\n\nReported-and-bisected-by: Stefano Brivio \u003cstefano.brivio@polimi.it\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32a76006683f7b28ae3cc491da37716e002f198e",
      "tree": "ab4bf487f675ab1a19b3ad0eac78a0e48f5144e9",
      "parents": [
        "b47711bfbcd4eb77ca61ef0162487b20e023ae55"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:07:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:07:58 2008 +0100"
      },
      "message": "printk: make printk more robust by not allowing recursion\n\nmake printk more robust by allowing recursion only if there\u0027s a crash\ngoing on. Also add recursion detection.\n\nI\u0027ve tested it with an artificially injected printk recursion - instead\nof a lockup or spontaneous reboot or other crash, the output was a well\ncontrolled:\n\n[   41.057335] SysRq : \u003c2\u003eBUG: recent printk recursion!\n[   41.057335] loglevel0-8 reBoot Crashdump show-all-locks(D) tErm Full kIll saK showMem Nice powerOff showPc show-all-timers(Q) unRaw Sync showTasks Unmount shoW-blocked-tasks\n\nalso do all this printk-debug logic with irqs disabled.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "fb445ee5f9bfc7cbef9e397556170c608dc02955",
      "tree": "b1a478362ad1a147c4d2c06ef79f77225953ce99",
      "parents": [
        "1842c7f260dd24dad2dd8eded80904d7a6c5525f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 29 01:19:49 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 29 01:19:49 2007 -0800"
      },
      "message": "[SERIAL]: Fix section mismatches in Sun serial console drivers.\n\nWe\u0027re exporting an __init function, oops :-)\n\nThe core issue here is that add_preferred_console() is marked\nas __init, this makes it impossible to invoke this thing from\na driver probe routine which is what the Sparc serial drivers\nneed to do.\n\nThere is no harm in dropping the __init marker.  This code will\nactually work properly when invoked from a modular driver,\nexcept that init will probably not pick up the console change\nwithout some other support code.\n\nThen we can drop the __init from sunserial_console_match()\nand we\u0027re no longer exporting an __init function to modules.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "6ab3d5624e172c553004ecc862bfeac16d9d68b7"
}
