)]}'
{
  "log": [
    {
      "commit": "f2f8458e751f9ae41dfec3c00a46d3e62dc38f60",
      "tree": "c16c97b3891790c9ffedc59579876510a8352ae4",
      "parents": [
        "ac8825ec6d941b6899331b84c7d6bf027c3bb4f1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 25 14:52:11 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:12 2008 +0200"
      },
      "message": "ftrace: objcopy version test for local symbols\n\nThe --globalize-symbols option came out in objcopy version 2.17.\nIf the kernel is being compiled on a system with a lower version of\nobjcopy, then we can not use the globalize / localize trick to\nlink to symbols pointing to local functions.\n\nThis patch tests the version of objcopy and will only use the trick\nif the version is greater than or equal to 2.17. Otherwise, if an\nobject has only local functions within a section, it will give a\nnice warning and recommend the user to upgrade their objcopy.\n\nLeaving the symbols unrecorded is not that big of a deal, since the\nmcount record method changes the actual mcount code to be a simple\n\"ret\" without recording registers or anything.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac8825ec6d941b6899331b84c7d6bf027c3bb4f1",
      "tree": "3c8673f34f88e9438405216416ad22af8b9e4998",
      "parents": [
        "2d7da80f7138c4276ef4fa0334be400b805d0fbf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 25 08:12:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:09 2008 +0200"
      },
      "message": "ftrace: clean up macro usage\n\nenclose the argument in parenthesis. (especially since we cast it,\nwhich is a high prio operation)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d7da80f7138c4276ef4fa0334be400b805d0fbf",
      "tree": "2c2c21758498c989cf22414bf66bff1093edd263",
      "parents": [
        "6f93fc076a464bfe24e8d4c5fea3f6ca5bdb264d"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Aug 25 13:08:44 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:06 2008 +0200"
      },
      "message": "ftrace: fix build failure\n\nAfter disabling FTRACE_MCOUNT_RECORD via a patch, a dormant build\nfailure surfaced:\n\n kernel/trace/ftrace.c: In function \u0027ftrace_record_ip\u0027:\n kernel/trace/ftrace.c:416: error: incompatible type for argument 1 of \u0027_spin_lock_irqsave\u0027\n kernel/trace/ftrace.c:433: error: incompatible type for argument 1 of \u0027_spin_lock_irqsave\u0027\n\nIntroduced by commit 6dad8e07f4c10b17b038e84d29f3ca41c2e55cd0 (\"ftrace:\nadd necessary locking for ftrace records\").\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f93fc076a464bfe24e8d4c5fea3f6ca5bdb264d",
      "tree": "06dd8772efe5be7432e2191761744eb3d8d9c9bc",
      "parents": [
        "8feff1cacc29e9cfdc6d1ce5f2108db87b91046e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 20 12:55:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:03 2008 +0200"
      },
      "message": "ftrace: x86 use copy to and from user functions\n\nThe modification of code is performed either by kstop_machine, before\nSMP starts, or on module code before the module is executed. There is\nno reason to do the modifications from assembly. The copy to and from\nuser functions are sufficient and produces cleaner and easier to read\ncode.\n\nThanks to Benjamin Herrenschmidt for suggesting the idea.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8feff1cacc29e9cfdc6d1ce5f2108db87b91046e",
      "tree": "b8670f1cd683039263f6f1f98962c8a6ed4d6ad6",
      "parents": [
        "d74fcd1e4e8842d5302cd303ef25cef7e67f68b4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 20 10:07:35 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:00 2008 +0200"
      },
      "message": "ftrace: handle weak symbol functions\n\nDuring tests and checks, I\u0027ve discovered that there were failures to\nconvert mcount callers into nops. Looking deeper into these failures,\ncode that was attempted to be changed was not an mcount caller.\nThe current code only updates if the code being changed is what it expects,\nbut I still investigate any time there is a failure.\n\nWhat was happening is that a weak symbol was being used as a reference\nfor other mcount callers. That weak symbol was also referenced elsewhere\nso the offsets were using the strong symbol and not the function symbol\nthat it was referenced from.\n\nThis patch changes the setting up of the mcount_loc section to search\nfor a global function that is not weak. It will pick a local over a weak\nbut if only a weak is found in a section, a warning is printed and the\nmcount location is not recorded (just to be safe).\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d74fcd1e4e8842d5302cd303ef25cef7e67f68b4",
      "tree": "71b65e0b54f918ec47f8d9813a00c0d3d47e39fd",
      "parents": [
        "6a4917e3ae5194a10e0723f96edc854c381e3063"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 15 11:40:24 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:56 2008 +0200"
      },
      "message": "ftrace: update recordmount.pl arch changes\n\nI\u0027m trying to keep all the arch changes in recordmcount.pl in one place.\nI moved your code into that area, by adding the flags to the commands\nthat were passed in.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a4917e3ae5194a10e0723f96edc854c381e3063",
      "tree": "8aaefd805a3e4cc6df2050838d1ae44c5a8f9ca5",
      "parents": [
        "3700273586ee6a58b95dd07d9f8a02db4a9b476f"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Aug 18 15:58:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:53 2008 +0200"
      },
      "message": "ftrace: fix build problem with CONFIG_FTRACE\n\nI\u0027m seeing when I use separate src/build dirs:\n\nmake[3]: *** [arch/x86/kernel/time_32.o] Error 1\n/bin/sh: scripts/recordmcount.pl: No such file or directory\nmake[3]: *** [arch/x86/kernel/irq_32.o] Error 1\n/bin/sh: scripts/recordmcount.pl: No such file or directory\nmake[3]: *** [arch/x86/kernel/ldt.o] Error 1\n/bin/sh: scripts/recordmcount.pl: No such file or directory\nmake[3]: *** [arch/x86/kernel/i8259.o] Error 1\n/bin/sh: scripts/recordmcount.pl: No such file or directory\n\nThis fixes it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3700273586ee6a58b95dd07d9f8a02db4a9b476f",
      "tree": "f291a04bd0ab0d866c00c3f2d241a870b873ec25",
      "parents": [
        "99ecdc43bc17faf5fa571db8569df171ecd0e5b8"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Mon Aug 18 16:24:56 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:50 2008 +0200"
      },
      "message": "ftrace: fix incorrect comment style of __ftrace_enabled_save()\n\nThis patch fixes incorrect comment style of __ftrace_enabled_save().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "99ecdc43bc17faf5fa571db8569df171ecd0e5b8",
      "tree": "aedefb2859247aefe7538e479ab71bcd3a1717c8",
      "parents": [
        "00fd61aee10533e003f2f00ab7163207660a4051"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 15 21:40:05 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:47 2008 +0200"
      },
      "message": "ftrace: add necessary locking for ftrace records\n\nThe new design of pre-recorded mcounts and updating the code outside of\nkstop_machine has changed the way the records themselves are protected.\n\nThis patch uses the ftrace_lock to protect the records. Note, the lock\nstill does not need to be taken within calls that are only called via\nkstop_machine, since the that code can not run while the spin lock is held.\n\nAlso removed the hash_lock needed for the daemon when MCOUNT_RECORD is\nconfigured. Also did a slight cleanup of an unused variable.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00fd61aee10533e003f2f00ab7163207660a4051",
      "tree": "72f42d3a4b238d84e3697c53b31b1ba9f8d022cb",
      "parents": [
        "98a983aad2e5b3dc83a8a761675445cdd8f3e6bd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 15 21:40:04 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:43 2008 +0200"
      },
      "message": "ftrace: do not init module on ftrace disabled\n\nIf one of the self tests of ftrace has disabled the function tracer,\ndo not run the code to convert the mcount calls in modules.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98a983aad2e5b3dc83a8a761675445cdd8f3e6bd",
      "tree": "f207a80453ff556fa1ddcb7eef4f17485a647161",
      "parents": [
        "3989cce82b272bd6312555fcc47c11715c157102"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Aug 15 21:08:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:40 2008 +0200"
      },
      "message": "ftrace: fix some mistakes in error messages\n\nThis patch fixes some mistakes on the tracer in warning messages when\ndebugfs fails to create tracing files.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: srostedt@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3989cce82b272bd6312555fcc47c11715c157102",
      "tree": "6c49985859e25991268317b23cc4260ce459134a",
      "parents": [
        "c5131ad6c3cbe8f6674993e29a76cecf8deb4384"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 09 20:54:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:36 2008 +0200"
      },
      "message": "ftrace: scripts/recordmcount.pl cross-build hack\n\nhack around:\n\n ld: Relocatable linking with relocations from format elf32-i386 (init/.tmp_gl_calibrate.o) to format elf64-x86-64 (init/.tmp_mx_calibrate.o) i  CC      arch/x86/mm/extable.o\n objcopy: \u0027init/.tmp_mx_calibrate.o\u0027: No such file\n rm: cannot remove `init/.tmp_mx_calibrate.o\u0027: No such file or directory\n ld: Relocatable linking with relocations from format elf32-i386 (arch/x86/mm/extable.o) to format elf64-x86-64 (arch/x86/mm/.tmp_mx_extable.o) is not supported\n mv: cannot stat `arch/x86/mm/.tmp_mx_extable.o\u0027: No such file or directory\n ld: Relocatable linking with relocations from format elf32-i386 (arch/x86/mm/fault.o) to format elf64-x86-64 (arch/x86/mm/.tmp_mx_fault.o) is not supported\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5131ad6c3cbe8f6674993e29a76cecf8deb4384",
      "tree": "ce9f9cd79cd987295d0cbcbb3cf99ada9b29fc1a",
      "parents": [
        "7b928c23fa3e9fa37d1d4ba52ba963f41ee5aae0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 18:22:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:33 2008 +0200"
      },
      "message": "ftrace: ftrace_kill_atomic() build fix\n\nfix:\n\n kernel/built-in.o: In function `ftrace_dump\u0027:\n (.text+0x2e2ea): undefined reference to `ftrace_kill_atomic\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b928c23fa3e9fa37d1d4ba52ba963f41ee5aae0",
      "tree": "a8873d531424a53b7c5f3a7cd4e280c50ca2e2a8",
      "parents": [
        "3f5a54e371ca20b119b73704f6c01b71295c1714"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 17:48:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:29 2008 +0200"
      },
      "message": "ftrace: build fix\n\nfix:\n\n In file included from init/main.c:65:\n include/linux/ftrace.h:166: error: expected ‘,\u0027 or ‘;\u0027 before ‘{\u0027 token\n make[1]: *** [init/main.o] Error 1\n make: *** [init/main.o] Error 2\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f5a54e371ca20b119b73704f6c01b71295c1714",
      "tree": "1453315564a19e967f11e612e264d4d2989afbe5",
      "parents": [
        "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 30 22:36:46 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:26 2008 +0200"
      },
      "message": "ftrace: dump out ftrace buffers to console on panic\n\nAt OLS I had a lot of interest to be able to have the ftrace buffers\ndumped on panic.  Usually one would expect to uses kexec and examine\nthe buffers after a new kernel is loaded. But sometimes the resources\ndo not permit kdump and kexec, so having an option to still see the\nsequence of events up to the crash is very advantageous.\n\nThis patch adds the option to have the ftrace buffers dumped to the\nconsole in the latency_trace format on a panic. When the option is set,\nthe default entries per CPU buffer are lowered to 16384, since the writing\nto the serial (if that is the console) may take an awful long time\notherwise.\n\n[\n Changes since -v1:\n  Got alpine to send correctly (as well as spell check working).\n  Removed config option.\n  Moved the static variables into ftrace_dump itself.\n  Gave printk a log level.\n]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0",
      "tree": "4948b0cd7b9828aa19f6862b10173cbc9f59ea68",
      "parents": [
        "dd0e545f061f90099a3dcc13aa77e29c6295cf23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 16:45:49 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:22 2008 +0200"
      },
      "message": "ftrace: ftrace_printk doc moved\n\nBased on Randy Dunlap\u0027s suggestion, the ftrace_printk kernel-doc belongs\nwith the ftrace_printk macro that should be used. Not with the\n__ftrace_printk internal function.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd0e545f061f90099a3dcc13aa77e29c6295cf23",
      "tree": "91842e81cacd2ae785bf14b96f3f65af96985658",
      "parents": [
        "2e2ca155cd2213b4f398031180fb3d399d5b7db9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 12:26:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:19 2008 +0200"
      },
      "message": "ftrace: printk formatting infrastructure\n\nThis patch adds a feature that can help kernel developers debug their\ncode using ftrace.\n\n  int ftrace_printk(const char *fmt, ...);\n\nThis records into the ftrace buffer using printf formatting. The entry\nsize in the buffers are still a fixed length. A new type has been added\nthat allows for more entries to be used for a single recording.\n\nThe start of the print is still the same as the other entries.\n\nIt returns the number of characters written to the ftrace buffer.\n\nFor example:\n\nHaving a module with the following code:\n\nstatic int __init ftrace_print_test(void)\n{\n        ftrace_printk(\"jiffies are %ld\\n\", jiffies);\n        return 0;\n}\n\nGives me:\n\n  insmod-5441  3...1 7569us : ftrace_print_test: jiffies are 4296626666\n\nfor the latency_trace file and:\n\n          insmod-5441  [03]  1959.370498: ftrace_print_test jiffies are 4296626666\n\nfor the trace file.\n\nNote: Only the infrastructure should go into the kernel. It is to help\nfacilitate debugging for other kernel developers. Calls to ftrace_printk\nis not intended to be left in the kernel, and should be frowned upon just\nlike scattering printks around in the code.\n\nBut having this easily at your fingertips helps the debugging go faster\nand bugs be solved quicker.\n\nMaybe later on, we can hook this with markers and have their printf format\nbe sucked into ftrace output.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e2ca155cd2213b4f398031180fb3d399d5b7db9",
      "tree": "027295832950e23ac4edc84e43550d02e9a1acc6",
      "parents": [
        "fed1939c64d2288938fdc1c367d49082da65e195"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 12:26:40 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:15 2008 +0200"
      },
      "message": "ftrace: new continue entry - separate out from trace_entry\n\nSome tracers will need to work with more than one entry. In order to do this\nthe trace_entry structure was split into two fields. One for the start of\nall entries, and one to continue an existing entry.\n\nThe trace_entry structure now has a \"field\" entry that consists of the previous\ncontent of the trace_entry, and a \"cont\" entry that is just a string buffer\nthe size of the \"field\" entry.\n\nThanks to Andrew Morton for suggesting this idea.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fed1939c64d2288938fdc1c367d49082da65e195",
      "tree": "a4592352d28efcfe82379c71d061b9127e49a115",
      "parents": [
        "28614889bcb2558a47d02d52394b7fd9795a9547"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:19 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:12 2008 +0200"
      },
      "message": "ftrace: remove old pointers to mcount\n\nWhen a mcount pointer is recorded into a table, it is used to add or\nremove calls to mcount (replacing them with nops). If the code is removed\nvia removing a module, the pointers still exist.  At modifying the code\na check is always made to make sure the code being replaced is the code\nexpected. In-other-words, the code being replaced is compared to what\nit is expected to be before being replaced.\n\nThere is a very small chance that the code being replaced just happens\nto look like code that calls mcount (very small since the call to mcount\nis relative). To remove this chance, this patch adds ftrace_release to\nallow module unloading to remove the pointers to mcount within the module.\n\nAnother change for init calls is made to not trace calls marked with\n__init. The tracing can not be started until after init is done anyway.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28614889bcb2558a47d02d52394b7fd9795a9547",
      "tree": "1b9e3b91c6db5927a6e53f5f1175aa25b27c4a9f",
      "parents": [
        "a9fdda33cd7c7519b082e37538fe790f9ff684bb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:18 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:08 2008 +0200"
      },
      "message": "ftrace: move notrace to compiler.h\n\nThe notrace define belongs in compiler.h so that it can be used in\ninit.h\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9fdda33cd7c7519b082e37538fe790f9ff684bb",
      "tree": "56d16d69e519e127a2090df6a16aa9029e8c0e05",
      "parents": [
        "732f3ca7d4ba3c1be8d051d52302ef441ee7748b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:05 2008 +0200"
      },
      "message": "ftrace: do not show freed records in available_filter_functions\n\nSeems that freed records can appear in the available_filter_functions list.\nThis patch fixes that.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "732f3ca7d4ba3c1be8d051d52302ef441ee7748b",
      "tree": "503f2c44e3a1617cb4aa45454071cb52330574b9",
      "parents": [
        "0a37605c2261a06d8cafc62dee11374ad676c8c4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 18:05:05 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:01 2008 +0200"
      },
      "message": "ftrace: use only 5 byte nops for x86\n\nMathieu Desnoyers revealed a bug in the original code. The nop that is\nused to relpace the mcount caller can be a two part nop. This runs the\nrisk where a process can be preempted after executing the first nop, but\nbefore the second part of the nop.\n\nThe ftrace code calls kstop_machine to keep multiple CPUs from executing\ncode that is being modified, but it does not protect against a task preempting\nin the middle of a two part nop.\n\nIf the above preemption happens and the tracer is enabled, after the\nkstop_machine runs, all those nops will be calls to the trace function.\nIf the preempted process that was preempted between the two nops is executed\nagain, it will execute half of the call to the trace function, and this\nmight crash the system.\n\nThis patch instead uses what both the latest Intel and AMD spec suggests.\nThat is the P6_NOP5 sequence of \"0x0f 0x1f 0x44 0x00 0x00\".\n\nNote, some older CPUs and QEMU might fault on this nop, so this nop\nis executed with fault handling first. If it detects a fault, it will then\nuse the code \"0x66 0x66 0x66 0x66 0x90\". If that faults, it will then\ndefault to a simple \"jmp 1f; .byte 0x00 0x00 0x00; 1:\". The jmp is\nnot optimal but will do if the first two can not be executed.\n\nTODO: Examine the cpuid to determine the nop to use.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a37605c2261a06d8cafc62dee11374ad676c8c4",
      "tree": "0867723688dbdb824a5a15f91551f88bd47c6936",
      "parents": [
        "e4b2b8866121bd06d5f3d9de0f79a04339ffa252"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:12 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:58 2008 +0200"
      },
      "message": "ftrace: x86 mcount stub\n\nx86 now sets up the mcount locations through the build and no longer\nneeds to record the ip when the function is executed. This patch changes\nthe initial mcount to simply return. There\u0027s no need to do any other work.\nIf the ftrace start up test fails, the original mcount will be what everything\nwill use, so having this as fast as possible is a good thing.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4b2b8866121bd06d5f3d9de0f79a04339ffa252",
      "tree": "4fc7408e20bbe742adaabcf827ace8c4266f1263",
      "parents": [
        "29e71abf56cebc5c5a4e184a6eb4360cc58554ad"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:11 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:54 2008 +0200"
      },
      "message": "ftrace: enable using mcount recording on x86\n\nEnable the use of the __mcount_loc infrastructure on x86_64 and i386.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29e71abf56cebc5c5a4e184a6eb4360cc58554ad",
      "tree": "2e86f88ce888e15c3d5aa007795092194a0f24c8",
      "parents": [
        "90d595fe5ca4b685465c068907e6e554760abea8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:10 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:51 2008 +0200"
      },
      "message": "ftrace: rebuild everything on change to FTRACE_MCOUNT_RECORD\n\nWhen enabling or disabling CONFIG_FTRACE_MCOUNT_RECORD, we want a full\nkernel compile to handle the adding of the __mcount_loc sections.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90d595fe5ca4b685465c068907e6e554760abea8",
      "tree": "03f98454af8c6756177aa053ae7440373007f67d",
      "parents": [
        "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:47 2008 +0200"
      },
      "message": "ftrace: enable mcount recording for modules\n\nThis patch enables the loading of the __mcount_section of modules and\nchanging all the callers of mcount into nops.\n\nThe modification is done before the init_module function is called, so\nagain, we do not need to use kstop_machine to make these changes.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1",
      "tree": "54d4d4f7e8311b77f3166a8807a635347d479081",
      "parents": [
        "8da3821ba5634497da63d58a69e24a97697c4a2b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:08 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:44 2008 +0200"
      },
      "message": "ftrace: mcount call site on boot nops core\n\nThis is the infrastructure to the converting the mcount call sites\nrecorded by the __mcount_loc section into nops on boot. It also allows\nfor using these sites to enable tracing as normal. When the __mcount_loc\nsection is used, the \"ftraced\" kernel thread is disabled.\n\nThis uses the current infrastructure to record the mcount call sites\nas well as convert them to nops. The mcount function is kept as a stub\non boot up and not converted to the ftrace_record_ip function. We use the\nftrace_record_ip to only record from the table.\n\nThis patch does not handle modules. That comes with a later patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8da3821ba5634497da63d58a69e24a97697c4a2b",
      "tree": "47d4d097b1cd2aafae2e3596a9ae0d1293228782",
      "parents": [
        "8b1fa1d7b22f386747c7b78b918d4c680c16066f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:40 2008 +0200"
      },
      "message": "ftrace: create __mcount_loc section\n\nThis patch creates a section in the kernel called \"__mcount_loc\".\nThis will hold a list of pointers to the mcount relocation for\neach call site of mcount.\n\nFor example:\n\nobjdump -dr init/main.o\n[...]\nDisassembly of section .text:\n\n0000000000000000 \u003cdo_one_initcall\u003e:\n   0:   55                      push   %rbp\n[...]\n000000000000017b \u003cinit_post\u003e:\n 17b:   55                      push   %rbp\n 17c:   48 89 e5                mov    %rsp,%rbp\n 17f:   53                      push   %rbx\n 180:   48 83 ec 08             sub    $0x8,%rsp\n 184:   e8 00 00 00 00          callq  189 \u003cinit_post+0xe\u003e\n                        185: R_X86_64_PC32      mcount+0xfffffffffffffffc\n[...]\n\nWe will add a section to point to each function call.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad .text + 0x185\n[...]\n\nThe offset to of the mcount call site in init_post is an offset from\nthe start of the section, and not the start of the function init_post.\nThe mcount relocation is at the call site 0x185 from the start of the\n.text section.\n\n  .text + 0x185  \u003d\u003d init_post + 0xa\n\nWe need a way to add this __mcount_loc section in a way that we do not\nlose the relocations after final link.  The .text section here will\nbe attached to all other .text sections after final link and the\noffsets will be meaningless.  We need to keep track of where these\n.text sections are.\n\nTo do this, we use the start of the first function in the section.\ndo_one_initcall.  We can make a tmp.s file with this function as a reference\nto the start of the .text section.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad do_one_initcall + 0x185\n[...]\n\nThen we can compile the tmp.s into a tmp.o\n\n  gcc -c tmp.s -o tmp.o\n\nAnd link it into back into main.o.\n\n  ld -r main.o tmp.o -o tmp_main.o\n  mv tmp_main.o main.o\n\nBut we have a problem.  What happens if the first function in a section\nis not exported, and is a static function. The linker will not let\nthe tmp.o use it.  This case exists in main.o as well.\n\nDisassembly of section .init.text:\n\n0000000000000000 \u003cset_reset_devices\u003e:\n   0:   55                      push   %rbp\n   1:   48 89 e5                mov    %rsp,%rbp\n   4:   e8 00 00 00 00          callq  9 \u003cset_reset_devices+0x9\u003e\n                        5: R_X86_64_PC32        mcount+0xfffffffffffffffc\n\nThe first function in .init.text is a static function.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nThe lowercase \u0027t\u0027 means that set_reset_devices is local and is not exported.\nIf we simply try to link the tmp.o with the set_reset_devices we end\nup with two symbols: one local and one global.\n\n .section __mcount_loc,\"a\",@progbits\n .quad set_reset_devices + 0x10\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n                 U set_reset_devices\n\nWe still have an undefined reference to set_reset_devices, and if we try\nto compile the kernel, we will end up with an undefined reference to\nset_reset_devices, or even worst, it could be exported someplace else,\nand then we will have a reference to the wrong location.\n\nTo handle this case, we make an intermediate step using objcopy.\nWe convert set_reset_devices into a global exported symbol before linking\nit with tmp.o and set it back afterwards.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nNow we have a section in main.o called __mcount_loc that we can place\nsomewhere in the kernel using vmlinux.ld.S and access it to convert\nall these locations that call mcount into nops before starting SMP\nand thus, eliminating the need to do this with kstop_machine.\n\nNote, A well documented perl script (scripts/recordmcount.pl) is used\nto do all this in one location.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b1fa1d7b22f386747c7b78b918d4c680c16066f",
      "tree": "9cd3deebefd072adc9ee4b79d32076db2b53a033",
      "parents": [
        "36dcd67ae994fece615b7c700958d215e884b9ae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 12:36:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:36 2008 +0200"
      },
      "message": "ftrace: mark lapic_wd_event() notrace\n\nit can be called in the NMI path:\n\n[    0.645999] calling  ftrace_dynamic_init+0x0/0xd6\n[    0.647521] ------------[ cut here ]------------\n[    0.647521] WARNING: at kernel/trace/ftrace.c:348 ftrace_record_ip+0x4e/0x252()\n[    0.647521] Modules linked in:\n[    0.647521] Pid: 15, comm: kstop1 Not tainted 2.6.27-rc1-tip #22686\n[    0.647521]\n[    0.647521] Call Trace:\n[    0.647521]  \u003cNMI\u003e  [\u003cffffffff8024593f\u003e] warn_on_slowpath+0x5d/0x84\n[    0.647521]  [\u003cffffffff80220b99\u003e] ? lapic_wd_event+0xb/0x5c\n[    0.647521]  [\u003cffffffff80287b3b\u003e] ftrace_record_ip+0x4e/0x252\n[    0.647521]  [\u003cffffffff80211274\u003e] mcount_call+0x5/0x31\n[    0.647521]  [\u003cffffffff80220b9e\u003e] ? lapic_wd_event+0x10/0x5c\n[    0.647521]  [\u003cffffffff8083f3ec\u003e] nmi_watchdog_tick+0x19d/0x1ad\n[    0.647521]  [\u003cffffffff8083e875\u003e] default_do_nmi+0x75/0x1e3\n[    0.647521]  [\u003cffffffff8083f0b3\u003e] do_nmi+0x5d/0x94\n[    0.647521]  [\u003cffffffff8083e2d2\u003e] nmi+0xa2/0xc2\n[    0.647521]  [\u003cffffffff802b48c3\u003e] ? check_bytes_and_report+0x11/0xcc\n[    0.647521]  \u003c\u003cEOE\u003e\u003e  [\u003cffffffff80211274\u003e] ? mcount_call+0x5/0x31\n[    0.647521]  [\u003cffffffff802b49df\u003e] check_object+0x61/0x1b0\n[    0.647521]  [\u003cffffffff802b502a\u003e] __slab_free+0x169/0x2ae\n[    0.647521]  [\u003cffffffff80242dbf\u003e] ? __cleanup_sighand+0x25/0x27\n[    0.647521]  [\u003cffffffff80242dbf\u003e] ? __cleanup_sighand+0x25/0x27\n[    0.647521]  [\u003cffffffff802b60cd\u003e] kmem_cache_free+0x85/0xb9\n[    0.647521]  [\u003cffffffff80242dbf\u003e] __cleanup_sighand+0x25/0x27\n[    0.647521]  [\u003cffffffff80247b3d\u003e] release_task+0x256/0x339\n[    0.647521]  [\u003cffffffff802490b4\u003e] do_exit+0x764/0x7ef\n[    0.647521]  [\u003cffffffff8027624c\u003e] __xchg+0x0/0x38\n[    0.647521]  [\u003cffffffff8027619a\u003e] ? stop_cpu+0x0/0xb2\n[    0.647521]  [\u003cffffffff8027619a\u003e] ? stop_cpu+0x0/0xb2\n[    0.647521]  [\u003cffffffff8025922f\u003e] kthread+0x4e/0x7b\n[    0.647521]  [\u003cffffffff80212979\u003e] child_rip+0xa/0x11\n[    0.647521]  [\u003cffffffff80211c17\u003e] ? restore_args+0x0/0x30\n[    0.647521]  [\u003cffffffff802283a5\u003e] ? native_load_tls+0x14/0x2e\n[    0.647521]  [\u003cffffffff802591e1\u003e] ? kthread+0x0/0x7b\n[    0.647521]  [\u003cffffffff8021296f\u003e] ? child_rip+0x0/0x11\n[    0.647521]\n[    0.647521] ---[ end trace 4eaa2a86a8e2da22 ]---\n[    0.672032] initcall ftrace_dynamic_init+0x0/0xd6 returned 0 after 19 msecs\n\nalso mark it no-kprobes while at it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36dcd67ae994fece615b7c700958d215e884b9ae",
      "tree": "2a4bed0cb9de673b7760b81f9fe03fd5f262c77e",
      "parents": [
        "9795302acf2817d0842e56d23df6008e43df0970"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 12:00:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:22 2008 +0200"
      },
      "message": "ftrace: ignore functions that cannot be kprobe-ed\n\nkprobes already has an extensive list of annotations for functions\nthat should not be instrumented. Add notrace annotations to these\nfunctions as well.\n\nThis is particularly useful for functions called by the NMI path.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9795302acf2817d0842e56d23df6008e43df0970",
      "tree": "de2219d52413770567e656b8e6e6b4da7fbf6fca",
      "parents": [
        "611b1597680dd4a57896bcca1af0484be463c55e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Jul 24 16:37:23 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:07 2008 +0200"
      },
      "message": "tracepoints: use TABLE_SIZE macro\n\nSteven Rostedt suggested:\n\n| Wouldn\u0027t it look nicer to have: (TRACEPOINT_TABLE_SIZE - 1) ?\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "611b1597680dd4a57896bcca1af0484be463c55e",
      "tree": "29356a233cad80a0bcf8c42c966b782726ac9892",
      "parents": [
        "5f87f1121895dc09d2d1c1db5f14af6aa4ce3e94"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon Jul 21 18:49:56 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:33:50 2008 +0200"
      },
      "message": "x86: fix mmiotrace 8-bit register decoding\n\nWhen SIL, DIL, BPL or SPL registers were used in MMIO, the datum\nwas extracted from AH, BH, CH, or DH, which are incorrect.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nCc: \"Vegard Nossum\" \u003cvegard.nossum@gmail.com\u003e\nCc: \"Steven Rostedt\" \u003csrostedt@redhat.com\u003e\nCc: proski@gnu.org\nCc: \"Pekka Enberg\"\n\t\u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f87f1121895dc09d2d1c1db5f14af6aa4ce3e94",
      "tree": "4b8354ab2dc0890d0d4c91d42ff9e13db50ebeab",
      "parents": [
        "cf569a932217b97e2fc2c48aa597fe29519a0cff"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 23 14:15:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:33:32 2008 +0200"
      },
      "message": "tracing: clean up tracepoints kconfig structure\n\ndo not expose users to CONFIG_TRACEPOINTS - tracers can select it\njust fine.\n\nupdate ftrace to select CONFIG_TRACEPOINTS.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf569a932217b97e2fc2c48aa597fe29519a0cff",
      "tree": "85be252713acf89df2b63dd6f5169b7ae1b13ae2",
      "parents": [
        "fa340d9c050e78fb21a142b617304214ae5e0c2d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 23 13:48:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:33:14 2008 +0200"
      },
      "message": "sched: clean up tracepoints\n\nmake it a bit more structured hence more readable.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa340d9c050e78fb21a142b617304214ae5e0c2d",
      "tree": "ef7b912de0c922ce7c819d26aa36e113c9c81858",
      "parents": [
        "b07c3f193a8074aa4afe43cfa8ae38ec4c7ccfa9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 23 13:38:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:32:56 2008 +0200"
      },
      "message": "tracing: disable tracepoints by default\n\nwhile it\u0027s arguably low overhead, we dont enable new features by default.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b07c3f193a8074aa4afe43cfa8ae38ec4c7ccfa9",
      "tree": "7d2b1d9efc5a8e24cb07c8d7f0b3e056fec8f150",
      "parents": [
        "0a16b6075843325dc402edf80c1662838b929aff"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:32:26 2008 +0200"
      },
      "message": "ftrace: port to tracepoints\n\nPorting the trace_mark() used by ftrace to tracepoints. (cleanup)\n\nChangelog :\n- Change error messages : marker -\u003e tracepoint\n\n[ mingo@elte.hu: conflict resolutions ]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a16b6075843325dc402edf80c1662838b929aff",
      "tree": "124e49d8c0196f3c6eb7aa09a7c4c3c3157fff7a",
      "parents": [
        "4a0897526bbc5c6ac0df80b16b8c60339e717ae2"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:30:52 2008 +0200"
      },
      "message": "tracing, sched: LTTng instrumentation - scheduler\n\nInstrument the scheduler activity (sched_switch, migration, wakeups,\nwait for a task, signal delivery) and process/thread\ncreation/destruction (fork, exit, kthread stop). Actually, kthread\ncreation is not instrumented in this patch because it is architecture\ndependent. It allows to connect tracers such as ftrace which detects\nscheduling latencies, good/bad scheduler decisions. Tools like LTTng can\nexport this scheduler information along with instrumentation of the rest\nof the kernel activity to perform post-mortem analysis on the scheduler\nactivity.\n\nAbout the performance impact of tracepoints (which is comparable to\nmarkers), even without immediate values optimizations, tests done by\nHideo Aoki on ia64 show no regression. His test case was using hackbench\non a kernel where scheduler instrumentation (about 5 events in code\nscheduler code) was added. See the \"Tracepoints\" patch header for\nperformance result detail.\n\nChangelog :\n\n- Change instrumentation location and parameter to match ftrace\n  instrumentation, previously done with kernel markers.\n\n[ mingo@elte.hu: conflict resolutions ]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a0897526bbc5c6ac0df80b16b8c60339e717ae2",
      "tree": "aa8eb17c791cdff175f8cd6cb76f02d05f00029a",
      "parents": [
        "24b8d831d56aac7907752d22d2aba5d8127db6f6"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:16 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:29:05 2008 +0200"
      },
      "message": "tracing: tracepoints, samples\n\nTracepoint example code under samples/.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24b8d831d56aac7907752d22d2aba5d8127db6f6",
      "tree": "7a92d53f0c5e237099c0d39e7f11e4fef79fe951",
      "parents": [
        "97e1c18e8d17bd87e1e383b2e9d9fc740332c8e2"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:16 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:28:47 2008 +0200"
      },
      "message": "tracing: tracepoints, documentation\n\nDocumentation of tracepoint usage.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97e1c18e8d17bd87e1e383b2e9d9fc740332c8e2",
      "tree": "5c6bfce8bacf04c2993a0029788a1370a483afa6",
      "parents": [
        "e7f2f9918c0e97aa98ba147ca387e2c7238f0711"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:16 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:28:28 2008 +0200"
      },
      "message": "tracing: Kernel Tracepoints\n\nImplementation of kernel tracepoints. Inspired from the Linux Kernel\nMarkers. Allows complete typing verification by declaring both tracing\nstatement inline functions and probe registration/unregistration static\ninline functions within the same macro \"DEFINE_TRACE\". No format string\nis required. See the tracepoint Documentation and Samples patches for\nusage examples.\n\nTaken from the documentation patch :\n\n\"A tracepoint placed in code provides a hook to call a function (probe)\nthat you can provide at runtime. A tracepoint can be \"on\" (a probe is\nconnected to it) or \"off\" (no probe is attached). When a tracepoint is\n\"off\" it has no effect, except for adding a tiny time penalty (checking\na condition for a branch) and space penalty (adding a few bytes for the\nfunction call at the end of the instrumented function and adds a data\nstructure in a separate section).  When a tracepoint is \"on\", the\nfunction you provide is called each time the tracepoint is executed, in\nthe execution context of the caller. When the function provided ends its\nexecution, it returns to the caller (continuing from the tracepoint\nsite).\n\nYou can put tracepoints at important locations in the code. They are\nlightweight hooks that can pass an arbitrary number of parameters, which\nprototypes are described in a tracepoint declaration placed in a header\nfile.\"\n\nAddition and removal of tracepoints is synchronized by RCU using the\nscheduler (and preempt_disable) as guarantees to find a quiescent state\n(this is really RCU \"classic\"). The update side uses rcu_barrier_sched()\nwith call_rcu_sched() and the read/execute side uses\n\"preempt_disable()/preempt_enable()\".\n\nWe make sure the previous array containing probes, which has been\nscheduled for deletion by the rcu callback, is indeed freed before we\nproceed to the next update. It therefore limits the rate of modification\nof a single tracepoint to one update per RCU period. The objective here\nis to permit fast batch add/removal of probes on _different_\ntracepoints.\n\nChangelog :\n- Use #name \":\" #proto as string to identify the tracepoint in the\n  tracepoint table. This will make sure not type mismatch happens due to\n  connexion of a probe with the wrong type to a tracepoint declared with\n  the same name in a different header.\n- Add tracepoint_entry_free_old.\n- Change __TO_TRACE to get rid of the \u0027i\u0027 iterator.\n\nMasami Hiramatsu \u003cmhiramat@redhat.com\u003e :\nTested on x86-64.\n\nPerformance impact of a tracepoint : same as markers, except that it\nadds about 70 bytes of instructions in an unlikely branch of each\ninstrumented function (the for loop, the stack setup and the function\ncall). It currently adds a memory read, a test and a conditional branch\nat the instrumentation site (in the hot path). Immediate values will\neventually change this into a load immediate, test and branch, which\nremoves the memory read which will make the i-cache impact smaller\n(changing the memory read for a load immediate removes 3-4 bytes per\nsite on x86_32 (depending on mov prefixes), or 7-8 bytes on x86_64, it\nalso saves the d-cache hit).\n\nAbout the performance impact of tracepoints (which is comparable to\nmarkers), even without immediate values optimizations, tests done by\nHideo Aoki on ia64 show no regression. His test case was using hackbench\non a kernel where scheduler instrumentation (about 5 events in code\nscheduler code) was added.\n\nQuoting Hideo Aoki about Markers :\n\nI evaluated overhead of kernel marker using linux-2.6-sched-fixes git\ntree, which includes several markers for LTTng, using an ia64 server.\n\nWhile the immediate trace mark feature isn\u0027t implemented on ia64, there\nis no major performance regression. So, I think that we don\u0027t have any\nissues to propose merging marker point patches into Linus\u0027s tree from\nthe viewpoint of performance impact.\n\nI prepared two kernels to evaluate. The first one was compiled without\nCONFIG_MARKERS. The second one was enabled CONFIG_MARKERS.\n\nI downloaded the original hackbench from the following URL:\nhttp://devresources.linux-foundation.org/craiger/hackbench/src/hackbench.c\n\nI ran hackbench 5 times in each condition and calculated the average and\ndifference between the kernels.\n\n    The parameter of hackbench: every 50 from 50 to 800\n    The number of CPUs of the server: 2, 4, and 8\n\nBelow is the results. As you can see, major performance regression\nwasn\u0027t found in any case. Even if number of processes increases,\ndifferences between marker-enabled kernel and marker- disabled kernel\ndoesn\u0027t increase. Moreover, if number of CPUs increases, the differences\ndoesn\u0027t increase either.\n\nCuriously, marker-enabled kernel is better than marker-disabled kernel\nin more than half cases, although I guess it comes from the difference\nof memory access pattern.\n\n* 2 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      4.811   |       4.872  |  +0.061  |  +1.27  |\n      100 |      9.854   |      10.309  |  +0.454  |  +4.61  |\n      150 |     15.602   |      15.040  |  -0.562  |  -3.6   |\n      200 |     20.489   |      20.380  |  -0.109  |  -0.53  |\n      250 |     25.798   |      25.652  |  -0.146  |  -0.56  |\n      300 |     31.260   |      30.797  |  -0.463  |  -1.48  |\n      350 |     36.121   |      35.770  |  -0.351  |  -0.97  |\n      400 |     42.288   |      42.102  |  -0.186  |  -0.44  |\n      450 |     47.778   |      47.253  |  -0.526  |  -1.1   |\n      500 |     51.953   |      52.278  |  +0.325  |  +0.63  |\n      550 |     58.401   |      57.700  |  -0.701  |  -1.2   |\n      600 |     63.334   |      63.222  |  -0.112  |  -0.18  |\n      650 |     68.816   |      68.511  |  -0.306  |  -0.44  |\n      700 |     74.667   |      74.088  |  -0.579  |  -0.78  |\n      750 |     78.612   |      79.582  |  +0.970  |  +1.23  |\n      800 |     85.431   |      85.263  |  -0.168  |  -0.2   |\n--------------------------------------------------------------\n\n* 4 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      2.586   |       2.584  |  -0.003  |  -0.1   |\n      100 |      5.254   |       5.283  |  +0.030  |  +0.56  |\n      150 |      8.012   |       8.074  |  +0.061  |  +0.76  |\n      200 |     11.172   |      11.000  |  -0.172  |  -1.54  |\n      250 |     13.917   |      14.036  |  +0.119  |  +0.86  |\n      300 |     16.905   |      16.543  |  -0.362  |  -2.14  |\n      350 |     19.901   |      20.036  |  +0.135  |  +0.68  |\n      400 |     22.908   |      23.094  |  +0.186  |  +0.81  |\n      450 |     26.273   |      26.101  |  -0.172  |  -0.66  |\n      500 |     29.554   |      29.092  |  -0.461  |  -1.56  |\n      550 |     32.377   |      32.274  |  -0.103  |  -0.32  |\n      600 |     35.855   |      35.322  |  -0.533  |  -1.49  |\n      650 |     39.192   |      38.388  |  -0.804  |  -2.05  |\n      700 |     41.744   |      41.719  |  -0.025  |  -0.06  |\n      750 |     45.016   |      44.496  |  -0.520  |  -1.16  |\n      800 |     48.212   |      47.603  |  -0.609  |  -1.26  |\n--------------------------------------------------------------\n\n* 8 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      2.094   |       2.072  |  -0.022  |  -1.07  |\n      100 |      4.162   |       4.273  |  +0.111  |  +2.66  |\n      150 |      6.485   |       6.540  |  +0.055  |  +0.84  |\n      200 |      8.556   |       8.478  |  -0.078  |  -0.91  |\n      250 |     10.458   |      10.258  |  -0.200  |  -1.91  |\n      300 |     12.425   |      12.750  |  +0.325  |  +2.62  |\n      350 |     14.807   |      14.839  |  +0.032  |  +0.22  |\n      400 |     16.801   |      16.959  |  +0.158  |  +0.94  |\n      450 |     19.478   |      19.009  |  -0.470  |  -2.41  |\n      500 |     21.296   |      21.504  |  +0.208  |  +0.98  |\n      550 |     23.842   |      23.979  |  +0.137  |  +0.57  |\n      600 |     26.309   |      26.111  |  -0.198  |  -0.75  |\n      650 |     28.705   |      28.446  |  -0.259  |  -0.9   |\n      700 |     31.233   |      31.394  |  +0.161  |  +0.52  |\n      750 |     34.064   |      33.720  |  -0.344  |  -1.01  |\n      800 |     36.320   |      36.114  |  -0.206  |  -0.57  |\n--------------------------------------------------------------\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7f2f9918c0e97aa98ba147ca387e2c7238f0711",
      "tree": "dd85d6d2907bffeda76b42ce55a445e3142fe738",
      "parents": [
        "11a96d1820113fde0d55c3487b7da7a9031326b8",
        "c00193f9f09f9b852249a66391985f585d066084"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:54:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:54:45 2008 -0700"
      },
      "message": "Merge phase #5 (misc) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\nMerges oprofile, timers/hpet, x86/traps, x86/time, and x86/core misc items.\n\n* \u0027x86-core-v4-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (132 commits)\n  x86: change early_ioremap to use slots instead of nesting\n  x86: adjust dependencies for CONFIG_X86_CMOV\n  dumpstack: x86: various small unification steps, fix\n  x86: remove additional_cpus\n  x86: remove additional_cpus configurability\n  x86: improve UP kernel when CPU-hotplug and SMP is enabled\n  dumpstack: x86: various small unification steps\n  dumpstack: i386: make kstack\u003d an early boot-param and add oops\u003dpanic\n  dumpstack: x86: use log_lvl and unify trace formatting\n  dumptrace: x86: consistently include loglevel, print stack switch\n  dumpstack: x86: add \"end\" parameter to valid_stack_ptr and print_context_stack\n  dumpstack: x86: make printk_address equal\n  dumpstack: x86: move die_nmi to dumpstack_32.c\n  traps: x86: finalize unification of traps.c\n  traps: x86: make traps_32.c and traps_64.c equal\n  traps: x86: various noop-changes preparing for unification of traps_xx.c\n  traps: x86_64: use task_pid_nr(tsk) instead of tsk-\u003epid in do_general_protection\n  traps: i386: expand clear_mem_error and remove from mach_traps.h\n  traps: x86_64: make io_check_error equal to the one on i386\n  traps: i386: use preempt_conditional_sti/cli in do_int3\n  ...\n"
    },
    {
      "commit": "11a96d1820113fde0d55c3487b7da7a9031326b8",
      "tree": "dfbb1a6f7a8aa89ea9c5133aa661c5427b6c8b3a",
      "parents": [
        "a18992d4652553f65469ac72b54b7fdd4f058277"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:46:24 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:45 2008 -0700"
      },
      "message": "tty: rename the remaining oddly named n_tty functions\n\nOriginal idea for this from a patch by Rodolfo Giometti which merges various\nbits of PPS support\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a18992d4652553f65469ac72b54b7fdd4f058277",
      "tree": "76b9347d3e11f0ef125f3466560f565e88a52d38",
      "parents": [
        "a90610e50b98e18385d4fbea2c9eaefb12c5a75c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:46:09 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "fs3270: Correct error returns\n\nDrop the kernel lock further and also correct cases where we set rc to an\nerror code, and then return 0\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a90610e50b98e18385d4fbea2c9eaefb12c5a75c",
      "tree": "03fd450b5d94710105a6c6f4f3f20519fd815461",
      "parents": [
        "402fda9201ac619ea1f120996b1a142c57aeeb6b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:45:52 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "fs3270: remove extra locks\n\nget_current_tty now does internal locking and returns a referenced object,\nthus our use of tty_mutex here can go away.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "402fda9201ac619ea1f120996b1a142c57aeeb6b",
      "tree": "9a0e1411e55148aac0a8dd662335b29ab2e13063",
      "parents": [
        "8440838bc5337243917f13bc14ea2445da5e0197"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Oct 13 10:45:36 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: tty_io.c shadows sparse fix\n\ndrivers/char/tty_io.c:1413:17: warning: symbol \u0027buf\u0027 shadows an earlier one\ndrivers/char/tty_io.c:1379:20: originally declared here\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8440838bc5337243917f13bc14ea2445da5e0197",
      "tree": "175af8fd7d678073a9794248132b606fb536c887",
      "parents": [
        "a7be18d436f0c7007794965e5af29fa1ffff1e05"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 10:45:26 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "serial: fix device name reporting when minor space is shared between drivers\n\nThe multiple drivers share the minor space occupied by a particular major\nnumber, the actual index within the device name\u0027s space is indicated by\nthe tty_driver-\u003ename_base + uart_port-\u003eline\n\nAnother usable formula is (uart_driver-\u003eminor - MINOR_BASE) + port-\u003eline\n\nUse those to print the device names properly in such situations in\nserial_core.c and 8250.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7be18d436f0c7007794965e5af29fa1ffff1e05",
      "tree": "4675ce7e3a5255108bf1d9c7f4ec4507592d50b7",
      "parents": [
        "17b820606e7bdd3be31b001265d0177423fea5eb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:45:17 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "applicom: Fix an unchecked user ioctl range and an error return\n\nCloses bug #11408 by checking the card index range for command 0\nFixes the ioctl to return ENOTTY which is correct for unknown ioctls\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17b820606e7bdd3be31b001265d0177423fea5eb",
      "tree": "df962dfca41e133983ee1a68deaad646a311d8b2",
      "parents": [
        "51383f69ec56fe3f425d5255fb43e18c445e061c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:45:06 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: Minor tidyups and document fixes for n_tty\n\nRemove/fix some bogus NULL checks, comment some locking etc\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51383f69ec56fe3f425d5255fb43e18c445e061c",
      "tree": "f9d9e280892702c3a47ffa807c0937ea9c80e315",
      "parents": [
        "ea1afd256258f04a290aaa7fd5c2d4deb2e79e26"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:44:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: Remove lots of NULL checks\n\nMany tty drivers contain \u0027can\u0027t happen\u0027 checks against NULL pointers passed\nin by the tty layer. These have never been possible to occur. Even more\nimportantly if they ever do occur we want to know as it would be a serious\nbug.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea1afd256258f04a290aaa7fd5c2d4deb2e79e26",
      "tree": "6ef94459212ed68e64b9a86c3b4542e935f32e10",
      "parents": [
        "53e86317e967b9a1b1b78d6a076547144454bce1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:44:43 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: fix up gigaset a bit\n\nStephen\u0027s fixes reminded me that gigaset is still rather broken so fix it up\na bit\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53e86317e967b9a1b1b78d6a076547144454bce1",
      "tree": "87f38a002bc278769aa632d3a6eadddee1e44732",
      "parents": [
        "47afa7a5a8a8fb9e60cdb6a3bd612e07c37e9d90"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Oct 13 10:44:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: Fallout from tty-move-canon-specials\n\nToday\u0027s linux-next build (x86_64 allmodconfig) failed like this:\n\n/drivers/char/tty_ioctl.c: In function \u0027change_termios\u0027:\ndrivers/isdn/capi/capi.c:1234: error: implicit declaration of function \u0027n_tty_ioctl\u0027\ndrivers/isdn/gigaset/ser-gigaset.c: In function \u0027gigaset_tty_ioctl\u0027:\ndrivers/isdn/gigaset/ser-gigaset.c:648: error: implicit declaration of function \u0027n_tty_ioctl\u0027\n\nIntroduced by commit 686b5e4aea05a80e370dc931b7f4a8d03c80da54\n(\"tty-move-canon-specials\").  I added the following patch (which may not\nbe correct).\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47afa7a5a8a8fb9e60cdb6a3bd612e07c37e9d90",
      "tree": "4f07d3aed0a08516162e529df75a014bd0798f8f",
      "parents": [
        "fe6e29fdb1a7b94891bbdd3c67358fe4ed14639d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:44:17 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: some ICANON magic is in the wrong places\n\nMove the set up on ldisc change into the ldisc\nMove the INQ/OUTQ cases into the driver not in shared ioctl code where it\ngives bogus answers for other ldisc values\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe6e29fdb1a7b94891bbdd3c67358fe4ed14639d",
      "tree": "a1b9524ec42081e6573dd5a77bbb881117c6a73b",
      "parents": [
        "8dff04ea316125639120c0a565ce0346b892fef7"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:44:08 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: simplify ktermios allocation\n\nCopy the simplification from the pty unix98 special case to the generic one.\nThis allows us to kill off driver-\u003etermios_locked entirely which is nice. We\nhave to whack bits of the cris driver as it meddles in places it shouldn\u0027t\nproviding its own arrays that were never used anyway.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8dff04ea316125639120c0a565ce0346b892fef7",
      "tree": "f6c4d0455d951d550ab55cebe109ac526c957011",
      "parents": [
        "335adde689150d2fcf4df3cb26a6fc6740ed1f3e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:43:58 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "pty: simplify unix98 allocation\n\nWe need both termios and termios_locked so allocate them as one\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "335adde689150d2fcf4df3cb26a6fc6740ed1f3e",
      "tree": "93e11b89e96e8baf15a276e4008e08bb5873fb90",
      "parents": [
        "fe9cd962a62cb5f666cf48b9941d3f3cde134254"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:43:48 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "pty: Fix allocation failure double free\n\nThe updating and moving around of the pty code added a bug where both the\nhelper and caller free the main tty struct (the pty driver must free the\no_tty pair itself however).\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe9cd962a62cb5f666cf48b9941d3f3cde134254",
      "tree": "c493585da2814bc8061c84fd2052a4407105d1e1",
      "parents": [
        "a6f37daa8b892fd29dd71be0de61460a478cb122"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:43:38 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "pty: Coding style and polish\n\nWe\u0027ve done the heavy lifting now its time to mop up a bit\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6f37daa8b892fd29dd71be0de61460a478cb122",
      "tree": "158010784c65dc0183b62551058ae0ed0fa2e887",
      "parents": [
        "89a52e109e2e2fe8bbd4e316cdb910774519c029"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 13 10:43:27 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "Simplify devpts_pty_kill\n\nWhen creating a new pty, save the pty\u0027s inode in the tty-\u003edriver_data.\nUse this inode in pty_kill() to identify the devpts instance. Since\nwe now have the inode for the pty, we can skip get_node() lookup and\nremove the unused get_node().\n\nTODO:\n\t- check if the mutex_lock is needed in pty_kill().\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89a52e109e2e2fe8bbd4e316cdb910774519c029",
      "tree": "5e469fcbfe109216ea1e046377c00b439b558bdd",
      "parents": [
        "527b3e4773628b30d03323a2cb5fb0d84441990f"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 13 10:43:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "Simplify devpts_pty_new()\n\ndevpts_pty_new() is called when setting up a new pty and would not\nwill not have an existing dentry or inode for the pty. So don\u0027t bother\nlooking for an existing dentry - just create a new one.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "527b3e4773628b30d03323a2cb5fb0d84441990f",
      "tree": "d7dfcc1b716881162d93bf24ade602a77ca171ac",
      "parents": [
        "15f1a6338ddd4e69fff965d4b3a0e1bfb7a13d9c"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 13 10:43:08 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "Simplify devpts_get_tty()\n\nAs pointed out by H. Peter Anvin, since the inode for the pty is known,\nwe don\u0027t need to look it up.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15f1a6338ddd4e69fff965d4b3a0e1bfb7a13d9c",
      "tree": "301eea94cb514dc12b5070fc4b3ab33d3aab4322",
      "parents": [
        "4a2b5fddd53b80efcb3266ee36e23b8de28e761a"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 13 10:42:59 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "Add an instance parameter devpts interfaces\n\nPass-in \u0027inode\u0027 or \u0027tty\u0027 parameter to devpts interfaces.  With multiple\ndevpts instances, these parameters will be used in subsequent patches\nto identify the instance of devpts mounted. The parameters also help\nsimplify devpts implementation.\n\nChangelog[v3]:\n\t- minor changes due to merge with ttydev updates\n\t- rename parameters to emphasize they are ptmx or pts inodes\n\t- pass-in tty_struct * to devpts_pty_kill() (this will help\n\t  cleanup the get_node() call in a subsequent patch)\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a2b5fddd53b80efcb3266ee36e23b8de28e761a",
      "tree": "ecb39392a17d1e9f0668c21064e3aa4207700e76",
      "parents": [
        "bf970ee46e0fb363c8df4393229121d54330a98e"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 13 10:42:49 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "Move tty lookup/reopen to caller\n\nMove tty_driver_lookup_tty() and tty_reopen() from tty_init_dev()\ninto tty_open() (one of the two callers of tty_init_dev()).  These\ncalls are not really required in ptmx_open(), the other caller,\nsince ptmx_open() would be setting up a new tty.\n\nChangelog[v2]:\n\t- remove the lookup and reopen calls from ptmx_open\n\t- merge with recent changes to ttydev tree\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf970ee46e0fb363c8df4393229121d54330a98e",
      "tree": "3beb09c369b3459e70689b5f9a35caacf063f116",
      "parents": [
        "73ec06fc5f5c8e1097a7a4a4ab2d7c6c3a007e81"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:42:39 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "tty: extract the pty init time special cases\n\nThe majority of the remaining init_dev code is pty special cases. We\nrefactor this code into the driver-\u003einstall method.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73ec06fc5f5c8e1097a7a4a4ab2d7c6c3a007e81",
      "tree": "2c244c8b0d853f82e479eaf72ca64d6c9209c6a6",
      "parents": [
        "8b0a88d5912ab549d5adac2c8498ecdaae5319a5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:42:29 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "tty: Finish fixing up the init_dev interface to use ERR_PTR\n\nOriginal suggestion and proposal from Sukadev Bhattiprolu.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b0a88d5912ab549d5adac2c8498ecdaae5319a5",
      "tree": "8ed71420259881fd6d1dd5f5841ffe2f3c5d1fa2",
      "parents": [
        "7d7b93c1452f381350dbaf276a63357fa6559e6d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:42:19 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: More driver operations\n\nWe have the lookup operation abstracted which is nice for pty cleanup but\nwe really want to abstract the add/remove entries as well so that we can\npull the pty code out of the tty core and create a clear defined interface\nfor the tty driver table.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d7b93c1452f381350dbaf276a63357fa6559e6d",
      "tree": "02ce0c37e7fea66d1e8af20111d92171bfc0ff1d",
      "parents": [
        "99f1fe189daf8e99a847e420567e49dd7ee2aae7"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:42:09 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: kref the tty driver object\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99f1fe189daf8e99a847e420567e49dd7ee2aae7",
      "tree": "09db410aa2b32e74086593eb771c75efe553a585",
      "parents": [
        "23499705753ab8b4c6b0b64e6c424a370bd900a1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:42:00 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: Clean up the tty_init_dev changes further\n\nFix up the naming, style and extract some bits of code into the driver\nspecific code\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "23499705753ab8b4c6b0b64e6c424a370bd900a1",
      "tree": "db092164c37a2c2897275a37d61ef325a59808d9",
      "parents": [
        "d81ed10307027e1643a65ab5fe17cc01233d376d"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 13 10:41:51 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: Move parts of tty_init_dev into new functions\n\nMove the \u0027find-tty\u0027 and \u0027fast-track-open\u0027 parts of init_dev() to\nseparate functions.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d81ed10307027e1643a65ab5fe17cc01233d376d",
      "tree": "e46ac5735124308357f42214a8a26f75dcd3f412",
      "parents": [
        "feebed6515a113eeb33919e9557a8b9710ea627c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:41:42 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: Remove more special casing and out of place code\n\nCarry on pushing code out of tty_io when it belongs to other drivers. I\u0027m\nnot 100% happy with some of this and it will be worth revisiting some of the\nexports later when the restructuring work is done.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "feebed6515a113eeb33919e9557a8b9710ea627c",
      "tree": "0461178ee0c5e16ea90023e4b6386cb5c57d3391",
      "parents": [
        "bf7a06bcce205705ea5c7675cbb8ea9239ea30a0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:41:30 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: shutdown method\n\nRight now there are various drivers that try to use tty-\u003ecount to know when\nthey get the final close. Aristeau Rozanski showed while debugging the vt\nsysfs race that this isn\u0027t entirely safe.\n\nInstead of driver side tricks to work around this introduce a shutdown which\nis called when the tty is being destructed. This also means that the shutdown\nmethod is tied into the refcounting.\n\nUse this to rework the console close/sysfs logic.\n\nRemove lots of special case code from the tty core code. The pty code can now\nhave a shutdown() method that replaces the special case hackery in the tree\nfree up paths.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf7a06bcce205705ea5c7675cbb8ea9239ea30a0",
      "tree": "98decd6b145bb9e42350190bb32178584e4caca6",
      "parents": [
        "15582d36a15978355d2168eaa018a3736db7281f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:41:16 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "vt: remove bogus lock dropping\n\nFor hysterical raisins the vt layer drops and retakes locks in the write\nmethod. This is a left over from the days when user/kernel data was passed\ndirectly to the tty not pre-buffered.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15582d36a15978355d2168eaa018a3736db7281f",
      "tree": "6ea2b94bb4504cf0d8dffdecbd85a60fe0d69c06",
      "parents": [
        "dbda4c0b97b18fd59b3964548361b4f92357f730"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:41:03 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "pty: If the administrator creates a device for a ptmx slave we should not error\n\nThe open path for ptmx slaves is via the ptmx device. Opening them any\nother way is not allowed. Vegard Nossum found that previously this was not\nthe case and mknod foo c 128 42; cat foo would produce nasty diagnostics\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dbda4c0b97b18fd59b3964548361b4f92357f730",
      "tree": "ca7e2827541aec01762f2a9c0e3155aaf49bf0ca",
      "parents": [
        "934e6ebf96e8c1a0f299e64129fdaebc1132a427"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:40:53 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: Fix abusers of current-\u003esighand-\u003etty\n\nVarious people outside the tty layer still stick their noses in behind the\nscenes. We need to make sure they also obey the locking and referencing rules.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "934e6ebf96e8c1a0f299e64129fdaebc1132a427",
      "tree": "ab4bd754997b097f06a5cfefd9e3671d56e628f4",
      "parents": [
        "2cb5998b5f0ccc886fdda3509059eef297b49577"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:40:43 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: Redo current tty locking\n\nCurrently it is sometimes locked by the tty mutex and sometimes by the\nsighand lock. The latter is in fact correct and now we can hand back referenced\nobjects we can fix this up without problems around sleeping functions.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2cb5998b5f0ccc886fdda3509059eef297b49577",
      "tree": "9113731d3f892c2e164bfd05a7cf1a4b1713a619",
      "parents": [
        "216ba023a96c04e8d3aabf83d5931c35b6e2dbbb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:40:30 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: the vhangup syscall is racy\n\nWe now have the infrastructure to sort this out but rather than teaching\nthe syscall tty lock rules we move the hard work into a tty helper\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "216ba023a96c04e8d3aabf83d5931c35b6e2dbbb",
      "tree": "3ff36bd6874a997354dcec8d02256489cf1fe508",
      "parents": [
        "d18a750fe9fa3b6cab882d51f99bba25bb0a006e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:40:19 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "mxser: Switch to kref tty\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d18a750fe9fa3b6cab882d51f99bba25bb0a006e",
      "tree": "391ccab5a5847782ae48dde60a661486f434ae35",
      "parents": [
        "d450b5a0196b6442cf3f29fc611d9c8daa56b559"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:40:07 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "stallion: Use krefs\n\nUse tty_port_init and krefs in the stallion drivers to protect us from devices\ngoing away underneath us. As with the other drives some rearranging is done to\npass the tty structure down properly on the user side.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d450b5a0196b6442cf3f29fc611d9c8daa56b559",
      "tree": "2a6b641b033bfbe16b194897ddbc988544dcefc2",
      "parents": [
        "4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:58 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: kref usage for isicom and moxa\n\nRather than blindly keep taking krefs we reorder the code in a few places\nto pass the tty down to the right place (which is important as from the user\nside it is not the case that tty \u003d\u003d port-\u003etty in all situations). For the irq\nand related paths use the krefs to stop the tty being freed under us.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c",
      "tree": "9b275f88f2705cb10121d5982741aef3a088a7c8",
      "parents": [
        "95f9bfc6b76e862265a2d70ae061eec18fe14140"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:46 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: usb-serial krefs\n\nUse kref in the USB serial drivers so that we don\u0027t free tty structures\nfrom under the URB receive handlers as has historically been the case if\nyou were unlucky. This also gives us a framework for general tty drivers to\nuse tty_port objects and refcount.\n\nContains two err-\u003edev_err changes merged together to fix clashes in the\n-next tree.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\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": "452a00d2ee288f2cbc36f676edd06cb14d2878c1",
      "tree": "c8251c73924a6ac9b174bc557357bfeff0c8d1a8",
      "parents": [
        "f4d2a6c2096b764decb20070b1bf4356de9144a8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:13 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: Make get_current_tty use a kref\n\nWe now return a kref covered tty reference. That ensures the tty structure\ndoesn\u0027t go away when you have a return from get_current_tty. This is not\nenough to protect you from most of the resources being freed behind your\nback - yet.\n\n[Updated to include fixes for SELinux problems found by Andrew Morton and\n an s390 leak found while debugging the former]\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4d2a6c2096b764decb20070b1bf4356de9144a8",
      "tree": "ff1f86d51ea0a60c0a1d22df68e39dd78e625ab1",
      "parents": [
        "8f520021837d45c47d0ab57e7271f8d88bf7f3a4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:01 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: compare the tty winsize\n\nWe always use the real tty one for stuff so the pty one should not be\ncompared. As we propagate window changes to both it doesn\u0027t currently\nmatter but will when we tidy up the pty termios logic a bit more\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f520021837d45c47d0ab57e7271f8d88bf7f3a4",
      "tree": "4435f3141163480c23f7274c502d58e3cd9cb963",
      "parents": [
        "1d65b4a088de407e99714fdc27862449db04fb5c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:38:46 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: Termios locking - sort out real_tty confusions and lock reads\n\nThis moves us towards sanity and should mean our termios locking is now\ncomplete and comprehensive.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d65b4a088de407e99714fdc27862449db04fb5c",
      "tree": "89f378767b9e0fe1a902d73bf43be382c6110f72",
      "parents": [
        "5aaa70a80f5bbfcc4d6a1f844bdd1c5d6b445b5f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:38:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: Add termiox\n\nWe need a way to describe the various additional modes and flow control\nfeatures that random weird hardware shows up and software such as wine\nwants to emulate as Windows supports them.\n\nTCGETX/TCSETX and the termiox ioctl are a SYS5 extension that we might as\nwell adopt. This patches adds the structures and the basic ioctl interfaces\nwhen the TCGETX etc defines are added for an architecture. Drivers wishing\nto use this stuff need to add new methods.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5aaa70a80f5bbfcc4d6a1f844bdd1c5d6b445b5f",
      "tree": "8826ff2e11d11ab0070d1ebf0ca8d0b91a9fa586",
      "parents": [
        "c26c56c0f40e200e61d1390629c806f6adaffbcc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:38:07 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: ipw need reworking\n\nThis came in via another tree and unfortunately is rather broken on\nthe tty side. Comment the apparent locking problems for someone who knows\nthe driver to look at.\n\nFix the termios and other ioctl handling. The driver was calling the wrong\nmethods for what it wanted to do but the right ones existed so its a simple\nfix up.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c26c56c0f40e200e61d1390629c806f6adaffbcc",
      "tree": "88de4fce80e1529c7d34a59601752808351eb0ea",
      "parents": [
        "6f967f7891076abc09e12ce952f85825e7ee8caf"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:48 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: Cris has a nice RS485 ioctl so we should steal it\n\nJP Tosoni observed:\n\n\"About a RS485 ioctl: could you consider the attached files which are\n already in the Linux kernel (in include/asm-cris).  They define a\n TIOCSERSETRS485 (ioctl.h), and the data structure (rs485.h)\n with allows to specify timings. Sounds just like what we want ?\"\n\nand he\u0027s right: sort of. Rework the structure to use flag bits and make the\ntime delay a fixed sized field so we don\u0027t get 32/64bit problems. Add the ioctls\nto x86 so that people know what to add to their platform of choice.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f967f7891076abc09e12ce952f85825e7ee8caf",
      "tree": "1ebd77aae1dc887676915b3c469d84681db2d9ac",
      "parents": [
        "9c9f4ded90a59eee84e15f5fd38c03d60184e112"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:36 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: use krefs to protect driver module counts\n\nThe tty layer keeps driver module counts that are used so the driver knows\nwhen it can be unloaded. For obvious reasons we want to tie that to the\nrefcounting properly.\n\nAt this point the driver side itself isn\u0027t refcounted nicely but we can do\nthat later and kref the drivers.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c9f4ded90a59eee84e15f5fd38c03d60184e112",
      "tree": "925a7f7c30136477b3f8551123fd86b355fd60fb",
      "parents": [
        "348eb12e5598be97400c749d3d93a71856ae0b2b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:26 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: Add a kref count\n\nIntroduce a kref to the tty structure and use it to protect the tty-\u003esignal\ntty references. For now we don\u0027t introduce it for anything else.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "348eb12e5598be97400c749d3d93a71856ae0b2b",
      "tree": "770864c077d4cce1e17f6e139a30a0ba9add5742",
      "parents": [
        "9e48565d217a8a96cc7577308ad41e9e4b806a62"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:17 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "pps: Reserve a line discipline number for PPS\n\nAdd a new line discipline for \"pulse per second\" devices connected to\na serial port.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e48565d217a8a96cc7577308ad41e9e4b806a62",
      "tree": "2ff5f745d72e0d33a93cdc51622f011f0031eb76",
      "parents": [
        "e04957365b21066285557e42ffe16d8330d46c02"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:07 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: Split tty_port into its own file\n\nNot much in it yet but this will grow a lot\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e04957365b21066285557e42ffe16d8330d46c02",
      "tree": "c359a59a0ac283d051736534d835df2cc0f8e17b",
      "parents": [
        "c564b6fda961bd999aac0b709b79288dd8f426cd"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:36:58 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: split the buffering from tty_io\n\nThe two are basically independent chunks of code so lets split them up for\nreadability and sanity. It also makes the API boundaries much clearer.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c564b6fda961bd999aac0b709b79288dd8f426cd",
      "tree": "017667b5df04c246191a614fadbb986ad04249a5",
      "parents": [
        "e6885107736a4dd23e7d3bc103fe6d043c63c4de"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:36:49 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "uml: small cleanups and note bugs to be dealt with by uml authors...\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6885107736a4dd23e7d3bc103fe6d043c63c4de",
      "tree": "77454a1a03bd0021945e3e6ef08b6f39ef8dbf14",
      "parents": [
        "b70ac7718579b5cbf3bdd74fd01132d1c91596f4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:36:40 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: move tioclinux from a special case\n\nRight now we have ifdefs and hooks in the core ioctl handler for TIOCLINUX\nand then test if its a console. This is brain dead. Instead call the\ntioclinux helper from the relevant driver ioctl methods.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b70ac7718579b5cbf3bdd74fd01132d1c91596f4",
      "tree": "a418dec814cbdea806c7767c0d77928bfe9091bc",
      "parents": [
        "b5d674abcffeacaf83038bbf7c0caf24edd497dd"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 10:36:31 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "serial: allow 8250 to be used on sparc\n\nThis requires three changes:\n\n1) Remove !SPARC restriction in Kconfig.\n\n2) Move Sparc specific serial drivers before 8250, so that serial\n   console devices don\u0027t change names on us, even if 8250 finds\n   devices.\n\n3) Since the Sparc specific serial drivers try to use the\n   same major/minor device namespace as 8250, some coordination\n   is necessary.  Use the sunserial_*() layer routines to allocate\n   minor number space within TTY_MAJOR when CONFIG_SPARC.\n\n   This has no effect on other platforms.\n\nThanks to Josip Rodin for bringing up this issue and testing\nplus debugging various revisions of this patch.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5d674abcffeacaf83038bbf7c0caf24edd497dd",
      "tree": "827763f15d1ad775dc0fa781228ede7f9dd91a55",
      "parents": [
        "40836c484c31301998a14be0439cc4e856399843"
      ],
      "author": {
        "name": "Will Newton",
        "email": "will.newton@gmail.com",
        "time": "Mon Oct 13 10:36:21 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "8250: remove a few inlines of dubious value\n\nRemove some inlines from various functions that are called once, are too\nbig to inline, or are called only from slow path code.  This saves around\n300 bytes of code for me.\n\nSigned-off-by: Will Newton \u003cwill.newton@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40836c484c31301998a14be0439cc4e856399843",
      "tree": "3852b0d70a038d5a94a65d850dfb29f78363a15d",
      "parents": [
        "43b11d33f2c20c33fcf197780edb2e5d8a1b6a67"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:36:11 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:39 2008 -0700"
      },
      "message": "serial_8250: pci_enable_device fail is not fully handled\n\n\u003crmk\u003e talking about leaks - I noticed that the \u0027check return of\npci_enable_dev()\u0027 in the 8250 pci resume function finally made it in\ndespite my objections against it (causing stuff in higher levels to\nleak).\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43b11d33f2c20c33fcf197780edb2e5d8a1b6a67",
      "tree": "8e779978b8f9d3aa115865b5c10ee41252ae09e4",
      "parents": [
        "4ad6de0b3f5d050b70e4c94a0cc8b26503f8cf28"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:36:00 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:39 2008 -0700"
      },
      "message": "ftdi: A few errors are err() that should be debug which causes much spewage\n\nFixes #10783\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ad6de0b3f5d050b70e4c94a0cc8b26503f8cf28",
      "tree": "c8dc69cf828e0938bc186eeee799a16488624c71",
      "parents": [
        "9bde10a4b8c54804236d3d6b4b75e98825a921e7"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Oct 13 10:35:51 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:39 2008 -0700"
      },
      "message": "usb: fix pl2303 initialization\n\nThis patch removes the private check for the termios_initialized for\nthe pl2303 usb driver.  It forced the baud to 9600 on the first call\nto pl2303_set_termios()\n\nBased on the tty changes in the 2.6.27 kernel, the termios passed to\nthe *_set_termios functions is always populated the first time.\n\nThis means there is no need to privately initialize the settings the\nfirst time, and doing so will not allow the use of the kernel\nparameter \"console\u003dttyUSB0,115200\" as an example.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bde10a4b8c54804236d3d6b4b75e98825a921e7",
      "tree": "6557cde0f05b0633910bf5e6c34b1b661b2ac05b",
      "parents": [
        "716da631ae91fc5e9f8d5815f8ef5fbfed862b80"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Oct 13 10:35:42 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:39 2008 -0700"
      },
      "message": "serial-make-uart_ports-ioport-unsigned-long-fix\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "716da631ae91fc5e9f8d5815f8ef5fbfed862b80",
      "tree": "cfb920b117c19b4f88722e910358c2a812349a7f",
      "parents": [
        "0c8946d97ae7d2d6691f8290a10faa63453b63f8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:35:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:39 2008 -0700"
      },
      "message": "nozomi: Fix close on error\n\nNozomi assumes the close method isn\u0027t called if open errors. The tty layer\nis different to other drives in this respect however. Pointed out by Denis J\nBarrow.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c8946d97ae7d2d6691f8290a10faa63453b63f8",
      "tree": "1301af045b9f22fe2598ce0f2107ce356b15c5cb",
      "parents": [
        "7459b6ff36ab5e7d160980c3cb2be2f8cd194778"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 10:35:23 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:39 2008 -0700"
      },
      "message": "serial: Make uart_port\u0027s ioport \"unsigned long\".\n\nOtherwise the top 32-bits of the resource value get chopped\noff on 64-bit systems, and the resulting I/O accesses go to\nrandom places.\n\nThanks to testing and debugging by Josip Rodin, which helped\ntrack this down.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "7459b6ff36ab5e7d160980c3cb2be2f8cd194778"
}
