)]}'
{
  "log": [
    {
      "commit": "1237a2ef31cf60e01bbecbe198d8c002bbb710db",
      "tree": "1d71f11a023c4ab0262000e90d311223b5ecc28e",
      "parents": [
        "f6de0c9864c10d17f2473940c5f81718a5064bd8"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: char/serial, remove SERIAL_TYPE_NORMAL redefines\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6de0c9864c10d17f2473940c5f81718a5064bd8",
      "tree": "5cef6d08b8d66224eb48ac3429c98734210e19ee",
      "parents": [
        "68562b79217ce04a30aaf781de1e6dfa84e73fbe"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: rocket, remove useless macros\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68562b79217ce04a30aaf781de1e6dfa84e73fbe",
      "tree": "0bfdf7b46ee40c48b0ded04af174c1f254336d48",
      "parents": [
        "48a67f5da1e605c0ec0534cb003ca0cd114f3d1b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: rocket, printk cleanup\n\n- add KERN_ level to each print\n- change some levels appropriately\n- add \\n at the ends where missing\n- change two complex printks into dev_info, where the original info is\n  printed automatically\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48a67f5da1e605c0ec0534cb003ca0cd114f3d1b",
      "tree": "2df59deb21a5636d9070bb35f22fe2678b186b9d",
      "parents": [
        "48103c527b2fcf5ead13ef14b34eb8893eaec06a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: rocket, switch long delay to sleep\n\nDon\u0027t busy wait for whole 1s when registering some rocket modems. Sleep\ninstead since we are not in atomic.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48103c527b2fcf5ead13ef14b34eb8893eaec06a",
      "tree": "a3f79f0f41cd85d56278b50a574691dab29640c0",
      "parents": [
        "300ec130493a67efb291ba20b48b664b2352277d"
      ],
      "author": {
        "name": "Frank Sorenson",
        "email": "frank@tuxrocks.com",
        "time": "Thu Feb 07 00:16:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "i8k: Inspiron E1705 fix\n\nNeeds the following in order to work correctly on my Inspiron E1705:\n\nAdd DMI Product name to i8k for Dell MP061 hardware (Inspiron 9400/E1705)\n\nSigned-off-by: Frank Sorenson \u003cfrank@tuxrocks.com\u003e\nCc: Bradley Smith \u003cbradjsmith@btinternet.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "300ec130493a67efb291ba20b48b664b2352277d",
      "tree": "e9b8a7923d6b3738aad67013104c344a1f1dc391",
      "parents": [
        "fe04f22fd2bc84dfcc0ef1c7acb863bd98b9ac93"
      ],
      "author": {
        "name": "Bradley Smith",
        "email": "bradjsmith@btinternet.com",
        "time": "Thu Feb 07 00:16:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "I8K: add i8k driver to the x86_64 Kconfig\n\nAdds i8k driver to the x86_64 Kconfig.\n\nSigned-off-by: Bradley Smith \u003cbradjsmith@btinternet.com\u003e\nCc: Frank Sorenson \u003cfrank@tuxrocks.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe04f22fd2bc84dfcc0ef1c7acb863bd98b9ac93",
      "tree": "8e0af562cd03fd5bfef643c9bdd98c23a72f5e7b",
      "parents": [
        "9a7744f9823b9ddf14c47c475e81c1326b1a2787"
      ],
      "author": {
        "name": "Bradley Smith",
        "email": "bradjsmith@btinternet.com",
        "time": "Thu Feb 07 00:16:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "I8K: allow i8k driver to be built on x86_64 systems\n\nAdds #if clause and additional inline assembly so that the driver\nbuilds on x86_64 systems.\n\nSigned-off-by: Bradley Smith \u003cbradjsmith@btinternet.com\u003e\nCc: Frank Sorenson \u003cfrank@tuxrocks.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a7744f9823b9ddf14c47c475e81c1326b1a2787",
      "tree": "a5969eab412bb34aa0f38c6a12a5fffe5553b2ce",
      "parents": [
        "b62f13439147210d5ad4bc40acee32b94c59f06d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to xtensa\n\nUse the architecture specific __cmpxchg_u32 for 32 bits cmpxchg)_local. Else,\nuse the new generic cmpxchg_local (disables interrupt).\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b62f13439147210d5ad4bc40acee32b94c59f06d",
      "tree": "f5948b96ce938b4cd28b30dfd02731a1ec7dbc73",
      "parents": [
        "80af4eeb726f038eddc32826e4238feba5b1dfb4"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to v850\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Miles Bader \u003cmiles.bader@necel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80af4eeb726f038eddc32826e4238feba5b1dfb4",
      "tree": "004867c90a5294a8902fc01f1181beacab587300",
      "parents": [
        "405321d3ab2b41960e2874f2f74609daffbc7a4c"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to sparc64\n\nUse cmpxchg_u32 and cmpxchg_u64 for cmpxchg_local and cmpxchg64_local. For other\ntype sizes, use the new generic cmpxchg_local (disables interrupt).\n\nChange:\nSince the header depends on local_irqsave/local_irqrestore, it must be\nincluded after their declaration.\n\nActually, being below the\n#include \u003clinux/irqflags.h\u003e should be enough, and on sparc64 it is\nincluded at the beginning of system.h.\n\nSo it makes sense to move it up for sparc64.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "405321d3ab2b41960e2874f2f74609daffbc7a4c",
      "tree": "af0d51539011d57b2df0df6c69171433f9d60ff8",
      "parents": [
        "fe4130131ef9e55763fd634a02b1db9290dbbe5a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to sparc, move __cmpxchg to system.h\n\nMove cmpxchg and add cmpxchg_local to system.h.\nUse the new generic cmpxchg_local (disables interrupt).\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe4130131ef9e55763fd634a02b1db9290dbbe5a",
      "tree": "523a97bd9f3b9302edfb80c5175ec9a528c1b807",
      "parents": [
        "85fdbe1b4b33b797321bfadf706b355e7cca6165"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to s390\n\nUse the standard __cmpxchg for every type that can be updated atomically.\nUse the new generic cmpxchg_local (disables interrupt) for other types.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85fdbe1b4b33b797321bfadf706b355e7cca6165",
      "tree": "bb24d49bb9cc2167742af843718587b408ad71e2",
      "parents": [
        "df80c8c5679c4e6c72e694525d76a9f26d5f33dc"
      ],
      "author": {
        "name": "Gunnar Larisch",
        "email": "gl@denx.de",
        "time": "Thu Feb 07 00:16:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to ppc\n\nAdd a local processor version of cmpxchg for ppc.\n\nImplements __cmpxchg_u32_local and uses it for 32 bits cmpxchg_local.\nIt uses the non NMI safe cmpxchg_local_generic for 1, 2 and 8 bytes\ncmpxchg_local.\n\nSigned-off-by: Gunnar Larisch \u003cgl@denx.de\u003e\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df80c8c5679c4e6c72e694525d76a9f26d5f33dc",
      "tree": "84144c163426e6d4ecfaa7c50dd9cd67fa91bc64",
      "parents": [
        "027bcc27d3d1a218dbf4477964a18fed78983357"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to parisc\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "027bcc27d3d1a218dbf4477964a18fed78983357",
      "tree": "a76ba273a2cdbd1866e79b3840c3293b13b50251",
      "parents": [
        "5da751035c5c8f5b30978e97fd4b3c75f453b04e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to m68knommu\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5da751035c5c8f5b30978e97fd4b3c75f453b04e",
      "tree": "9d50b1187702079ba6fb5d61a84db4dbdd646937",
      "parents": [
        "7fa2ac3728ce828070fa3d5846c08157fe5ef431"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to m86k\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fa2ac3728ce828070fa3d5846c08157fe5ef431",
      "tree": "46d8af0c873bac8d03fd7c166420c9ee5fca7fca",
      "parents": [
        "df0f65f02a55888feae52a7e7d59d29f5edd400d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "local_t m32r use architecture specific cmpxchg_local\n\nOn m32r, use the new cmpxchg_local as primitive for the local_cmpxchg\noperation.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df0f65f02a55888feae52a7e7d59d29f5edd400d",
      "tree": "7ec1736072aaddec96cd95eb9b0aca49c39e0859",
      "parents": [
        "f94d1d3a1df125461a16b2888eca46d64f113e3a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "m32r: build fix of arch/m32r/kernel/smpboot.c\n\nThis patch is for Mathieu Desnoyers\u0027s include/asm-m32r/local.h.\nApplying the new include/asm-m32r/local.h, inclusion of linux/sched.h\nis needed to fix a build error of arch/m32r/kernel/smpboot.c.\n\n\u003c--  snip  --\u003e\n  ...\n  CC      arch/m32r/kernel/smpboot.o\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function \u0027do_boot_cpu\u0027:\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: error: implicit declaration of function \u0027fork_idle\u0027\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: warning: assignment makes pointer from integer without a cast\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:283: error: dereferencing pointer to incomplete type\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:289: error: dereferencing pointer to incomplete type\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: implicit declaration of function \u0027task_thread_info\u0027\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: invalid type argument of \u0027-\u003e\u0027\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function \u0027start_secondary\u0027:\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:429: error: implicit declaration of function \u0027cpu_init\u0027\nmake[2]: *** [arch/m32r/kernel/smpboot.o] Error 1\n\u003c--  snip  --\u003e\n\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f94d1d3a1df125461a16b2888eca46d64f113e3a",
      "tree": "35991d4f2f00dd9f3df1fe5d0ca53b5e01545f67",
      "parents": [
        "7b631c2de63b4475351258197409983c8189ed04"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Fix m32r __xchg\n\nthe #endif  /* CONFIG_SMP */ should cover the default condition, or it may cause\nbad parameter to be silently missed.\n\nTo make it work correctly, we have to remove the ifdef CONFIG SMP surrounding\n__xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting\nthis.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b631c2de63b4475351258197409983c8189ed04",
      "tree": "915d5b3d1b7ba8f47e0f5abfba70aec94c106d9e",
      "parents": [
        "4b78fff6e736cae55dc3fb5570c7ef4037eca9b7"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "New cmpxchg_local (optimized for UP case) for m32r\n\nAdd __xchg_local, xchg_local (define), __cmpxchg_local_u32, __cmpxchg_local,\ncmpxchg_local(macro).\n\ncmpxchg_local and cmpxchg64_local will use the architecture specific\n__cmpxchg_local_u32 for 32 bits arguments, and use the generic\n__cmpxchg_local_generic for 8, 16 and 64 bits arguments.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b78fff6e736cae55dc3fb5570c7ef4037eca9b7",
      "tree": "1ef5848902fd8222fb2280e48d19575a19aa8809",
      "parents": [
        "aebb77aef4b50a157bf0185de31d1aede3ca2312"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64\n\nAdd the primitives cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64. They\nuse cmpxchg_acq as underlying macro, just like the already existing ia64\ncmpxchg().\n\nChangelog:\n\nia64 cmpxchg_local coding style fix\nQuoting Keith Owens:\n\nAs a matter of coding style, I prefer\n\n#define cmpxchg_local   cmpxchg\n#define cmpxchg64_local cmpxchg64\n\nWhich makes it absolutely clear that they are the same code.  With your\npatch, humans have to do a string compare of two defines to see if they\nare the same.\n\nNote cmpxchg is *not* a performance win vs interrupt disable / enable on IA64.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aebb77aef4b50a157bf0185de31d1aede3ca2312",
      "tree": "0f4b5f17120b93193d06dcf9f6ca270f2c06c5fc",
      "parents": [
        "14e0cb3c60b89c4a2512852ffc18601c72314a0f"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to h8300\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e0cb3c60b89c4a2512852ffc18601c72314a0f",
      "tree": "59267c487c31f18036ac8c1a28a2250c3bd97f60",
      "parents": [
        "7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to frv\n\nUse the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits\narguments. Use the 32 bits cmpxchg available on the architecture for 32 bits\narguments.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53",
      "tree": "0dec1b2b4457d0db2ccd04eab6999c3b84c711f7",
      "parents": [
        "10b8827068377a11ed0e396248f7d02751fe5f17"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to cris\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10b8827068377a11ed0e396248f7d02751fe5f17",
      "tree": "2ca6e89cc47354ac2cec717e186ede7f24e0b8fd",
      "parents": [
        "5e86c11d3eb4662000f3ced7344352b2ca319d03"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set since nobody seems to know why __cmpxchg\nhas been implemented in assembly in the first place thather than in plain C.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Michael Frysinger \u003cmichael.frysinger@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e86c11d3eb4662000f3ced7344352b2ca319d03",
      "tree": "30332e5df3105622e2b5443aa346c739a89f37f6",
      "parents": [
        "176393d4232a89aaf8745b0726f4d212a20103f1"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to avr32\n\nUse the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits\ncmpxchg_local. Use the __cmpxchg_u32 primitive for 32 bits cmpxchg_local.\n\nNote that cmpxchg only uses the __cmpxchg_u32 or __cmpxchg_u64 and will cause\na linker error if called with 8 or 16 bits argument.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "176393d4232a89aaf8745b0726f4d212a20103f1",
      "tree": "f5d64f19a7db6da5d694c209fa8ac2d6ce43dd29",
      "parents": [
        "32f49eab5e893007c0064f465c857ac7c4d40b77"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to arm\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32f49eab5e893007c0064f465c857ac7c4d40b77",
      "tree": "dd3a69e196fee7311d61dda8c17dd62a451070b2",
      "parents": [
        "f9c4650bcfb4b21126525f73f10d635284e16056"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to x86_64\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9c4650bcfb4b21126525f73f10d635284e16056",
      "tree": "11927048b5ae34472043b894e9646d1e4635ae99",
      "parents": [
        "3b96a56d395a4dcf4c05c48d8f4e74b1f8bd073d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to powerpc\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b96a56d395a4dcf4c05c48d8f4e74b1f8bd073d",
      "tree": "1c4e8cb7c5ea7e7af7dd8e4c07b429dffa4b9cc5",
      "parents": [
        "a259b2428b10c19b94e346bc69d5b3bf9bff488e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to mips\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a259b2428b10c19b94e346bc69d5b3bf9bff488e",
      "tree": "ceb0536890fc85e46b905239ffe44077be695b03",
      "parents": [
        "068fbad288a2c18b75b0425fb56d241f018a1cb5"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to alpha\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068fbad288a2c18b75b0425fb56d241f018a1cb5",
      "tree": "441674bb0658208fbc5f6eab96b8641ab7345caf",
      "parents": [
        "6e16d89bcd668a95eb22add24c02d80890232b66"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg_local to asm-generic for per cpu atomic operations\n\nEmulates the cmpxchg_local by disabling interrupts around variable modification.\nThis is not reentrant wrt NMIs and MCEs. It is only protected against normal\ninterrupts, but this is enough for architectures without such interrupt sources\nor if used in a context where the data is not shared with such handlers.\n\nIt can be used as a fallback for architectures lacking a real cmpxchg\ninstruction.\n\nFor architectures that have a real cmpxchg but does not have NMIs or MCE,\ntesting which of the generic vs architecture specific cmpxchg is the fastest\nshould be done.\n\nasm-generic/cmpxchg.h defines a cmpxchg that uses cmpxchg_local. It is meant to\nbe used as a cmpxchg fallback for architectures that do not support SMP.\n\n* Patch series comments\n\nUsing cmpxchg_local shows a performance improvements of the fast path goes from\na 66% speedup on a Pentium 4 to a 14% speedup on AMD64.\n\nIn detail:\n\nTested-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nMeasurements on a Pentium4, 3GHz, Hyperthread.\nSLUB Performance testing\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n1. Kmalloc: Repeatedly allocate then free test\n\n* slub HEAD, test 1\nkmalloc(8) \u003d 201 cycles         kfree \u003d 351 cycles\nkmalloc(16) \u003d 198 cycles        kfree \u003d 359 cycles\nkmalloc(32) \u003d 200 cycles        kfree \u003d 381 cycles\nkmalloc(64) \u003d 224 cycles        kfree \u003d 394 cycles\nkmalloc(128) \u003d 285 cycles       kfree \u003d 424 cycles\nkmalloc(256) \u003d 411 cycles       kfree \u003d 546 cycles\nkmalloc(512) \u003d 480 cycles       kfree \u003d 619 cycles\nkmalloc(1024) \u003d 623 cycles      kfree \u003d 750 cycles\nkmalloc(2048) \u003d 686 cycles      kfree \u003d 811 cycles\nkmalloc(4096) \u003d 482 cycles      kfree \u003d 538 cycles\nkmalloc(8192) \u003d 680 cycles      kfree \u003d 734 cycles\nkmalloc(16384) \u003d 713 cycles     kfree \u003d 843 cycles\n\n* Slub HEAD, test 2\nkmalloc(8) \u003d 190 cycles         kfree \u003d 351 cycles\nkmalloc(16) \u003d 195 cycles        kfree \u003d 360 cycles\nkmalloc(32) \u003d 201 cycles        kfree \u003d 370 cycles\nkmalloc(64) \u003d 245 cycles        kfree \u003d 389 cycles\nkmalloc(128) \u003d 283 cycles       kfree \u003d 413 cycles\nkmalloc(256) \u003d 409 cycles       kfree \u003d 547 cycles\nkmalloc(512) \u003d 476 cycles       kfree \u003d 616 cycles\nkmalloc(1024) \u003d 628 cycles      kfree \u003d 753 cycles\nkmalloc(2048) \u003d 684 cycles      kfree \u003d 811 cycles\nkmalloc(4096) \u003d 480 cycles      kfree \u003d 539 cycles\nkmalloc(8192) \u003d 661 cycles      kfree \u003d 746 cycles\nkmalloc(16384) \u003d 741 cycles     kfree \u003d 856 cycles\n\n* cmpxchg_local Slub test\nkmalloc(8) \u003d 83 cycles          kfree \u003d 363 cycles\nkmalloc(16) \u003d 85 cycles         kfree \u003d 372 cycles\nkmalloc(32) \u003d 92 cycles         kfree \u003d 377 cycles\nkmalloc(64) \u003d 115 cycles        kfree \u003d 397 cycles\nkmalloc(128) \u003d 179 cycles       kfree \u003d 438 cycles\nkmalloc(256) \u003d 314 cycles       kfree \u003d 564 cycles\nkmalloc(512) \u003d 398 cycles       kfree \u003d 615 cycles\nkmalloc(1024) \u003d 573 cycles      kfree \u003d 745 cycles\nkmalloc(2048) \u003d 629 cycles      kfree \u003d 816 cycles\nkmalloc(4096) \u003d 473 cycles      kfree \u003d 548 cycles\nkmalloc(8192) \u003d 659 cycles      kfree \u003d 745 cycles\nkmalloc(16384) \u003d 724 cycles     kfree \u003d 843 cycles\n\n2. Kmalloc: alloc/free test\n\n* slub HEAD, test 1\nkmalloc(8)/kfree \u003d 322 cycles\nkmalloc(16)/kfree \u003d 318 cycles\nkmalloc(32)/kfree \u003d 318 cycles\nkmalloc(64)/kfree \u003d 325 cycles\nkmalloc(128)/kfree \u003d 318 cycles\nkmalloc(256)/kfree \u003d 328 cycles\nkmalloc(512)/kfree \u003d 328 cycles\nkmalloc(1024)/kfree \u003d 328 cycles\nkmalloc(2048)/kfree \u003d 328 cycles\nkmalloc(4096)/kfree \u003d 678 cycles\nkmalloc(8192)/kfree \u003d 1013 cycles\nkmalloc(16384)/kfree \u003d 1157 cycles\n\n* Slub HEAD, test 2\nkmalloc(8)/kfree \u003d 323 cycles\nkmalloc(16)/kfree \u003d 318 cycles\nkmalloc(32)/kfree \u003d 318 cycles\nkmalloc(64)/kfree \u003d 318 cycles\nkmalloc(128)/kfree \u003d 318 cycles\nkmalloc(256)/kfree \u003d 328 cycles\nkmalloc(512)/kfree \u003d 328 cycles\nkmalloc(1024)/kfree \u003d 328 cycles\nkmalloc(2048)/kfree \u003d 328 cycles\nkmalloc(4096)/kfree \u003d 648 cycles\nkmalloc(8192)/kfree \u003d 1009 cycles\nkmalloc(16384)/kfree \u003d 1105 cycles\n\n* cmpxchg_local Slub test\nkmalloc(8)/kfree \u003d 112 cycles\nkmalloc(16)/kfree \u003d 103 cycles\nkmalloc(32)/kfree \u003d 103 cycles\nkmalloc(64)/kfree \u003d 103 cycles\nkmalloc(128)/kfree \u003d 112 cycles\nkmalloc(256)/kfree \u003d 111 cycles\nkmalloc(512)/kfree \u003d 111 cycles\nkmalloc(1024)/kfree \u003d 111 cycles\nkmalloc(2048)/kfree \u003d 121 cycles\nkmalloc(4096)/kfree \u003d 650 cycles\nkmalloc(8192)/kfree \u003d 1042 cycles\nkmalloc(16384)/kfree \u003d 1149 cycles\n\nTested-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nMeasurements on a AMD64 2.0 GHz dual-core\n\nIn this test, we seem to remove 10 cycles from the kmalloc fast path.\nOn small allocations, it gives a 14% performance increase. kfree fast\npath also seems to have a 10 cycles improvement.\n\n1. Kmalloc: Repeatedly allocate then free test\n\n* cmpxchg_local slub\nkmalloc(8) \u003d 63 cycles      kfree \u003d 126 cycles\nkmalloc(16) \u003d 66 cycles     kfree \u003d 129 cycles\nkmalloc(32) \u003d 76 cycles     kfree \u003d 138 cycles\nkmalloc(64) \u003d 100 cycles    kfree \u003d 288 cycles\nkmalloc(128) \u003d 128 cycles   kfree \u003d 309 cycles\nkmalloc(256) \u003d 170 cycles   kfree \u003d 315 cycles\nkmalloc(512) \u003d 221 cycles   kfree \u003d 357 cycles\nkmalloc(1024) \u003d 324 cycles  kfree \u003d 393 cycles\nkmalloc(2048) \u003d 354 cycles  kfree \u003d 440 cycles\nkmalloc(4096) \u003d 394 cycles  kfree \u003d 330 cycles\nkmalloc(8192) \u003d 523 cycles  kfree \u003d 481 cycles\nkmalloc(16384) \u003d 643 cycles kfree \u003d 649 cycles\n\n* Base\nkmalloc(8) \u003d 74 cycles      kfree \u003d 113 cycles\nkmalloc(16) \u003d 76 cycles     kfree \u003d 116 cycles\nkmalloc(32) \u003d 85 cycles     kfree \u003d 133 cycles\nkmalloc(64) \u003d 111 cycles    kfree \u003d 279 cycles\nkmalloc(128) \u003d 138 cycles   kfree \u003d 294 cycles\nkmalloc(256) \u003d 181 cycles   kfree \u003d 304 cycles\nkmalloc(512) \u003d 237 cycles   kfree \u003d 327 cycles\nkmalloc(1024) \u003d 340 cycles  kfree \u003d 379 cycles\nkmalloc(2048) \u003d 378 cycles  kfree \u003d 433 cycles\nkmalloc(4096) \u003d 399 cycles  kfree \u003d 329 cycles\nkmalloc(8192) \u003d 528 cycles  kfree \u003d 624 cycles\nkmalloc(16384) \u003d 651 cycles kfree \u003d 737 cycles\n\n2. Kmalloc: alloc/free test\n\n* cmpxchg_local slub\nkmalloc(8)/kfree \u003d 96 cycles\nkmalloc(16)/kfree \u003d 97 cycles\nkmalloc(32)/kfree \u003d 97 cycles\nkmalloc(64)/kfree \u003d 97 cycles\nkmalloc(128)/kfree \u003d 97 cycles\nkmalloc(256)/kfree \u003d 105 cycles\nkmalloc(512)/kfree \u003d 108 cycles\nkmalloc(1024)/kfree \u003d 105 cycles\nkmalloc(2048)/kfree \u003d 107 cycles\nkmalloc(4096)/kfree \u003d 390 cycles\nkmalloc(8192)/kfree \u003d 626 cycles\nkmalloc(16384)/kfree \u003d 662 cycles\n\n* Base\nkmalloc(8)/kfree \u003d 116 cycles\nkmalloc(16)/kfree \u003d 116 cycles\nkmalloc(32)/kfree \u003d 116 cycles\nkmalloc(64)/kfree \u003d 116 cycles\nkmalloc(128)/kfree \u003d 116 cycles\nkmalloc(256)/kfree \u003d 126 cycles\nkmalloc(512)/kfree \u003d 126 cycles\nkmalloc(1024)/kfree \u003d 126 cycles\nkmalloc(2048)/kfree \u003d 126 cycles\nkmalloc(4096)/kfree \u003d 384 cycles\nkmalloc(8192)/kfree \u003d 749 cycles\nkmalloc(16384)/kfree \u003d 786 cycles\n\nTested-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nI can confirm Mathieus\u0027 measurement now:\n\nAthlon64:\n\nregular NUMA/discontig\n\n1. Kmalloc: Repeatedly allocate then free test\n10000 times kmalloc(8) -\u003e 79 cycles kfree -\u003e 92 cycles\n10000 times kmalloc(16) -\u003e 79 cycles kfree -\u003e 93 cycles\n10000 times kmalloc(32) -\u003e 88 cycles kfree -\u003e 95 cycles\n10000 times kmalloc(64) -\u003e 124 cycles kfree -\u003e 132 cycles\n10000 times kmalloc(128) -\u003e 157 cycles kfree -\u003e 247 cycles\n10000 times kmalloc(256) -\u003e 200 cycles kfree -\u003e 257 cycles\n10000 times kmalloc(512) -\u003e 250 cycles kfree -\u003e 277 cycles\n10000 times kmalloc(1024) -\u003e 337 cycles kfree -\u003e 314 cycles\n10000 times kmalloc(2048) -\u003e 365 cycles kfree -\u003e 330 cycles\n10000 times kmalloc(4096) -\u003e 352 cycles kfree -\u003e 240 cycles\n10000 times kmalloc(8192) -\u003e 456 cycles kfree -\u003e 340 cycles\n10000 times kmalloc(16384) -\u003e 646 cycles kfree -\u003e 471 cycles\n2. Kmalloc: alloc/free test\n10000 times kmalloc(8)/kfree -\u003e 124 cycles\n10000 times kmalloc(16)/kfree -\u003e 124 cycles\n10000 times kmalloc(32)/kfree -\u003e 124 cycles\n10000 times kmalloc(64)/kfree -\u003e 124 cycles\n10000 times kmalloc(128)/kfree -\u003e 124 cycles\n10000 times kmalloc(256)/kfree -\u003e 132 cycles\n10000 times kmalloc(512)/kfree -\u003e 132 cycles\n10000 times kmalloc(1024)/kfree -\u003e 132 cycles\n10000 times kmalloc(2048)/kfree -\u003e 132 cycles\n10000 times kmalloc(4096)/kfree -\u003e 319 cycles\n10000 times kmalloc(8192)/kfree -\u003e 486 cycles\n10000 times kmalloc(16384)/kfree -\u003e 539 cycles\n\ncmpxchg_local NUMA/discontig\n\n1. Kmalloc: Repeatedly allocate then free test\n10000 times kmalloc(8) -\u003e 55 cycles kfree -\u003e 90 cycles\n10000 times kmalloc(16) -\u003e 55 cycles kfree -\u003e 92 cycles\n10000 times kmalloc(32) -\u003e 70 cycles kfree -\u003e 91 cycles\n10000 times kmalloc(64) -\u003e 100 cycles kfree -\u003e 141 cycles\n10000 times kmalloc(128) -\u003e 128 cycles kfree -\u003e 233 cycles\n10000 times kmalloc(256) -\u003e 172 cycles kfree -\u003e 251 cycles\n10000 times kmalloc(512) -\u003e 225 cycles kfree -\u003e 275 cycles\n10000 times kmalloc(1024) -\u003e 325 cycles kfree -\u003e 311 cycles\n10000 times kmalloc(2048) -\u003e 346 cycles kfree -\u003e 330 cycles\n10000 times kmalloc(4096) -\u003e 351 cycles kfree -\u003e 238 cycles\n10000 times kmalloc(8192) -\u003e 450 cycles kfree -\u003e 342 cycles\n10000 times kmalloc(16384) -\u003e 630 cycles kfree -\u003e 546 cycles\n2. Kmalloc: alloc/free test\n10000 times kmalloc(8)/kfree -\u003e 81 cycles\n10000 times kmalloc(16)/kfree -\u003e 81 cycles\n10000 times kmalloc(32)/kfree -\u003e 81 cycles\n10000 times kmalloc(64)/kfree -\u003e 81 cycles\n10000 times kmalloc(128)/kfree -\u003e 81 cycles\n10000 times kmalloc(256)/kfree -\u003e 91 cycles\n10000 times kmalloc(512)/kfree -\u003e 90 cycles\n10000 times kmalloc(1024)/kfree -\u003e 91 cycles\n10000 times kmalloc(2048)/kfree -\u003e 90 cycles\n10000 times kmalloc(4096)/kfree -\u003e 318 cycles\n10000 times kmalloc(8192)/kfree -\u003e 483 cycles\n10000 times kmalloc(16384)/kfree -\u003e 536 cycles\n\nChangelog:\n- Ran though checkpatch.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e16d89bcd668a95eb22add24c02d80890232b66",
      "tree": "8d5fcab14edac7d36c67e8a57abb5025cfaa2c2d",
      "parents": [
        "ed7b1889da256977574663689b598d88950bbd23"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Feb 07 00:15:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Sanitize the type of struct user.u_ar0\n\nstruct user.u_ar0 is defined to contain a pointer offset on all\narchitectures in which it is defined (all architectures which define an\na.out format except SPARC.) However, it has a pointer type in the headers,\nwhich is pointless -- \u003casm/user.h\u003e is not exported to userspace, and it\njust makes the code messy.\n\nRedefine the field as \"unsigned long\" (which is the same size as a pointer\non all Linux architectures) and change the setting code to user offsetof()\ninstead of hand-coded arithmetic.\n\nCc: Linux Arch Mailing List \u003clinux-arch@vger.kernel.org\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Lennert Buytenhek \u003ckernel@wantstofly.org\u003e\nCc: Håvard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed7b1889da256977574663689b598d88950bbd23",
      "tree": "bdbf8d12826dece7ec4ccb4edcb18cd66dc842a0",
      "parents": [
        "6cc931b9b5ec652c90b928f3ec2163f261552c91"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Unexport asm/page.h\n\nDo not export asm/page.h during make headers_install.  This removes PAGE_SIZE\nfrom userspace headers.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cc931b9b5ec652c90b928f3ec2163f261552c91",
      "tree": "0f01557ada755c56baffe102614149ad190ebb02",
      "parents": [
        "516c25a86f6bdad77ded01a43c52c5569c8d690c"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Unexport asm/elf.h\n\nDo not export asm/elf.h during make headers_install.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "516c25a86f6bdad77ded01a43c52c5569c8d690c",
      "tree": "e7404e73fd103f70958ccb1bc1c74ff1c7ff48bf",
      "parents": [
        "c1445db9f72db0537c43a2eab6e1b0f6741162f5"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed\n\nasm/elf.h, asm/page.h and asm/user.h don\u0027t export to userspace now, so we can\ndrop #ifdef __KERNEL__ for them.\n\n[k.shutemov@gmail.com: remove #ifdef __KERNEL_]\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1445db9f72db0537c43a2eab6e1b0f6741162f5",
      "tree": "3ea99c656c8d3699631c29d003ffe2f81752eb79",
      "parents": [
        "12debc4248a4a7f1873e47cda2cdd7faca80b099"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "Unexport asm/user.h and linux/user.h\n\nDo not export asm/user.h and linux/user.h during make headers_install.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12debc4248a4a7f1873e47cda2cdd7faca80b099",
      "tree": "1ad80b77d213ea09cb746d6e4d50c4316462a452",
      "parents": [
        "755aedc15900ff7d83dd046f632af9a680b0c28f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: remove iget() and the read_inode() super op as being obsolete\n\nRemove the old iget() call and the read_inode() superblock operation it uses\nas these are really obsolete, and the use of read_inode() does not produce\nproper error handling (no distinction between ENOMEM and EIO when marking an\ninode bad).\n\nFurthermore, this removes the temptation to use iget() to find an inode by\nnumber in a filesystem from code outside that filesystem.\n\niget_locked() should be used instead.  A new function is added in an earlier\npatch (iget_failed) that is to be called to mark an inode as bad, unlock it\nand release it should the get routine fail.  Mark iget() and read_inode() as\nbeing obsolete and remove references to them from the documentation.\n\nTypically a filesystem will be modified such that the read_inode function\nbecomes an internal iget function, for example the following:\n\n\tvoid thingyfs_read_inode(struct inode *inode)\n\t{\n\t\t...\n\t}\n\nwould be changed into something like:\n\n\tstruct inode *thingyfs_iget(struct super_block *sp, unsigned long ino)\n\t{\n\t\tstruct inode *inode;\n\t\tint ret;\n\n\t\tinode \u003d iget_locked(sb, ino);\n\t\tif (!inode)\n\t\t\treturn ERR_PTR(-ENOMEM);\n\t\tif (!(inode-\u003ei_state \u0026 I_NEW))\n\t\t\treturn inode;\n\n\t\t...\n\t\tunlock_new_inode(inode);\n\t\treturn inode;\n\terror:\n\t\tiget_failed(inode);\n\t\treturn ERR_PTR(ret);\n\t}\n\nand then thingyfs_iget() would be called rather than iget(), for example:\n\n\tret \u003d -EINVAL;\n\tinode \u003d iget(sb, ino);\n\tif (!inode || is_bad_inode(inode))\n\t\tgoto error;\n\nbecomes:\n\n\tinode \u003d thingyfs_iget(sb, ino);\n\tif (IS_ERR(inode)) {\n\t\tret \u003d PTR_ERR(inode);\n\t\tgoto error;\n\t}\n\nNote that is_bad_inode() does not need to be called.  The error returned by\nthingyfs_iget() should render it unnecessary.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "755aedc15900ff7d83dd046f632af9a680b0c28f",
      "tree": "c4868834e52b00301e4d3cc1e450982b7d9fcf9b",
      "parents": [
        "0a370e5de9e5a48eb4b268e9f5e2286b82f44012"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop HPPFS from using iget() and read_inode()\n\nStop the HPPFS filesystem from using iget() and read_inode().  Provide an\nhppfs_iget(), and call that instead of iget().  hppfs_iget() then uses\niget_locked() directly and returns a proper error code instead of an inode in\nthe event of an error.\n\nhppfs_fill_sb_common() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nNote that the contents of hppfs_kern.c need to be examined:\n\n (*) The HPPFS inode retains a pointer to the proc dentry it is shadowing, but\n     whilst it does appear to retain a reference to it, it doesn\u0027t appear to\n     destroy the reference if the inode goes away.\n\n (*) hppfs_iget() should perhaps subsume init_inode() and hppfs_read_inode().\n\n (*) It would appear that all hppfs inodes are the same inode because iget()\n     was being called with inode number 0, which forms the lookup key.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a370e5de9e5a48eb4b268e9f5e2286b82f44012",
      "tree": "6ffdabfb1457657a4b888ae23e03fbc1d84601bf",
      "parents": [
        "b88a27edcd3e96f826c291f8e34fdbb0a90bc9ca"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop HOSTFS from using iget() and read_inode()\n\nStop the HOSTFS filesystem from using iget() and read_inode().  Provide\nhostfs_iget(), and call that instead of iget().  hostfs_iget() then uses\niget_locked() directly and returns a proper error code instead of an inode in\nthe event of an error.\n\nhostfs_fill_sb_common() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nNote that the contents of hostfs_kern.c need to be examined:\n\n (*) hostfs_iget() should perhaps subsume init_inode() and hostfs_read_inode().\n\n (*) It would appear that all hostfs inodes are the same inode because iget()\n     was being called with inode number 0 - which forms the lookup key.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b88a27edcd3e96f826c291f8e34fdbb0a90bc9ca",
      "tree": "eaf898c54946e958f95a757fb43b1dcd124b2358",
      "parents": [
        "b55c460da6df4e8dfc6f68c00fafe7337b54e2f8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop OPENPROMFS from using iget() and read_inode()\n\nStop the OPENPROMFS filesystem from using iget() and read_inode().  Replace\nopenpromfs_read_inode() with openpromfs_iget(), and call that instead of\niget().  openpromfs_iget() then uses iget_locked() directly and returns a\nproper error code instead of an inode in the event of an error.\n\nopenpromfs_fill_super() returns any error incurred when getting the root inode\ninstead of ENOMEM (not that it currently incurs any other error).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b55c460da6df4e8dfc6f68c00fafe7337b54e2f8",
      "tree": "ef38152ff42e3a50a9e193cd66bd81107d58a2e4",
      "parents": [
        "b8e1343f67460554ca5321956c440cc064e9889b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop UFS from using iget() and read_inode()\n\nStop the UFS filesystem from using iget() and read_inode().  Replace\nufs_read_inode() with ufs_iget(), and call that instead of iget().  ufs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\nufs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8e1343f67460554ca5321956c440cc064e9889b",
      "tree": "91611e8ab0d1f486186de660059f10506ff75690",
      "parents": [
        "78cc9120003d7847ef1abebb771a708c7ae51ffd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop the SYSV filesystem from using iget() and read_inode()\n\nStop the SYSV filesystem from using iget() and read_inode().  Replace\nsysv_read_inode() with sysv_iget(), and call that instead of iget().\nsysv_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78cc9120003d7847ef1abebb771a708c7ae51ffd",
      "tree": "1e6f1d3360f934a557a7e46249a4da56035cf953",
      "parents": [
        "2b7e5bcbd9e03f7236d2869f4261059074ea50a2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop ROMFS from using iget() and read_inode()\n\nStop the ROMFS filesystem from using iget() and read_inode().  Replace\nromfs_read_inode() with romfs_iget(), and call that instead of iget().\nromfs_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nromfs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b7e5bcbd9e03f7236d2869f4261059074ea50a2",
      "tree": "fcc75f21bf6a3a65ee28909919bf36f58d667720",
      "parents": [
        "a1d4aebbfa91c55a6b0c629a9ccf6369be0c6e95"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop QNX4 from using iget() and read_inode()\n\nStop the QNX4 filesystem from using iget() and read_inode().  Replace\nqnx4_read_inode() with qnx4_iget(), and call that instead of iget().\nqnx4_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nqnx4_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Anders Larsen \u003cal@alarsen.net\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1d4aebbfa91c55a6b0c629a9ccf6369be0c6e95",
      "tree": "2478c7be46b86b30c86666f72a8816c910c7a7d4",
      "parents": [
        "a90a088021f8f1e9a9cd83f06ac90e1f3aada4d4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop PROCFS from using iget() and read_inode()\n\nStop the PROCFS filesystem from using iget() and read_inode().  Merge\nprocfs_read_inode() into procfs_get_inode(), and have that call iget_locked()\ninstead of iget().\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a90a088021f8f1e9a9cd83f06ac90e1f3aada4d4",
      "tree": "6371bc6869236addb5da2f33787b714f72ac25e1",
      "parents": [
        "eab1df71a0ef6d333b9b826deaa0d0eb4b4f69dc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop the MINIX filesystem from using iget() and read_inode()\n\nStop the MINIX filesystem from using iget() and read_inode().  Replace\nminix_read_inode() with minix_iget(), and call that instead of iget().\nminix_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nminix_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eab1df71a0ef6d333b9b826deaa0d0eb4b4f69dc",
      "tree": "70d73e349ab1af57b1975762d9c1170f43de3562",
      "parents": [
        "5451f79f5f817880958ed063864ad268d94ccd1f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop JFS from using iget() and read_inode()\n\nStop the JFS filesystem from using iget() and read_inode().  Replace\njfs_read_inode() with jfs_iget(), and call that instead of iget().  jfs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\njfs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5451f79f5f817880958ed063864ad268d94ccd1f",
      "tree": "a1b2a80902be0c83e81c8bcca2e6bf58d824ea98",
      "parents": [
        "c4386c83bf849c56b1f49951595aeb7c9a719d21"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop JFFS2 from using iget() and read_inode()\n\nStop the JFFS2 filesystem from using iget() and read_inode().  Replace\njffs2_read_inode() with jffs2_iget(), and call that instead of iget().\njffs2_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\njffs2_do_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4386c83bf849c56b1f49951595aeb7c9a719d21",
      "tree": "44248ee7c540d9992fc3c0b4ac73d30c0bc0a136",
      "parents": [
        "635253915b3297435e178371407d568522aae3d4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop ISOFS from using read_inode()\n\nStop the ISOFS filesystem from using read_inode().  Make isofs_read_inode()\nreturn an error code, and make isofs_iget() pass it on.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"Dave Young\" \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "635253915b3297435e178371407d568522aae3d4",
      "tree": "98e102b111d0aa8703c8b971cb130acf19ce34d0",
      "parents": [
        "fa300b1914f892196acb385677047bc978466de7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop HFSPLUS from using iget() and read_inode()\n\nStop the HFSPLUS filesystem from using iget() and read_inode().  Replace\nhfsplus_read_inode() with hfsplus_iget(), and call that instead of iget().\nhfsplus_iget() then uses iget_locked() directly and returns a proper error\ncode instead of an inode in the event of an error.\n\nhfsplus_fill_super() returns any error incurred when getting the root inode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa300b1914f892196acb385677047bc978466de7",
      "tree": "58729e181e2a7aca020d3079eadbf1b718e40c1f",
      "parents": [
        "d0b079483dd4cf6373f0ff234d5fdaef80c9588f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop FUSE from using iget() and read_inode()\n\nStop the FUSE filesystem from using read_inode(), which it doesn\u0027t use anyway.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0b079483dd4cf6373f0ff234d5fdaef80c9588f",
      "tree": "8f222250ca750d370238b07111ec4f7ddc989a9c",
      "parents": [
        "17f95a7b4416a2c61e35f51b29eaaf1818fb5d7d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop FreeVXFS from using iget() and read_inode()\n\nStop the FreeVXFS filesystem from using iget() and read_inode().  Replace\nvxfs_read_inode() with vxfs_iget(), and call that instead of iget().\nvxfs_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nvxfs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17f95a7b4416a2c61e35f51b29eaaf1818fb5d7d",
      "tree": "403247b3f297d96a0d9fe194a87605ac20c82b2a",
      "parents": [
        "1d1fe1ee02b9ac2660995b10e35dd41448fef011"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop FAT from using iget() and read_inode()\n\nStop the FAT filesystem from using iget() and read_inode().  Replace the call\nto iget() with a call to ilookup().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d1fe1ee02b9ac2660995b10e35dd41448fef011",
      "tree": "8961bbe5a36a07dc8ad8c6cd3e973ce0fcde5850",
      "parents": [
        "473043dcee1874aab99f66b0362b344618eb3790"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT4 from using iget() and read_inode()\n\nStop the EXT4 filesystem from using iget() and read_inode().  Replace\next4_read_inode() with ext4_iget(), and call that instead of iget().\next4_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next4_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "473043dcee1874aab99f66b0362b344618eb3790",
      "tree": "bc329501ec6cd0d31dfe11d4587347093dca4ccf",
      "parents": [
        "52fcf7032935b33158e3998ed399cac97447ab8d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT3 from using iget() and read_inode()\n\nStop the EXT3 filesystem from using iget() and read_inode().  Replace\next3_read_inode() with ext3_iget(), and call that instead of iget().\next3_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next3_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52fcf7032935b33158e3998ed399cac97447ab8d",
      "tree": "65d15b7541614ff52e76cabf6c7ac01ac0d95686",
      "parents": [
        "298384cd7929a3a14d7b116095973f0d02f5d09e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT2 from using iget() and read_inode()\n\nStop the EXT2 filesystem from using iget() and read_inode().  Replace\next2_read_inode() with ext2_iget(), and call that instead of iget().\next2_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next2_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "298384cd7929a3a14d7b116095973f0d02f5d09e",
      "tree": "651ef96b214831a77e12b120d8eb5262a9d49d74",
      "parents": [
        "ce634ab28e7dbcc13ebe6e7bc5bc7de4f8def4c8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EFS from using iget() and read_inode()\n\nStop the EFS filesystem from using iget() and read_inode().  Replace\nefs_read_inode() with efs_iget(), and call that instead of iget().  efs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\nefs_fill_super() returns any error incurred when getting the root inode\ninstead of EACCES.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce634ab28e7dbcc13ebe6e7bc5bc7de4f8def4c8",
      "tree": "cb19d7c04a3f503f8f1c026c861a3f21b5283e2b",
      "parents": [
        "e33ab086ae227a34e34b17e86dbb9d2dbaebb489"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop CIFS from using iget() and read_inode()\n\nStop the CIFS filesystem from using iget() and read_inode().  Replace\ncifs_read_inode() with cifs_iget(), and call that instead of iget().\ncifs_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\ncifs_read_super() now returns any error incurred when getting the root inode\ninstead of ENOMEM.\n\ncifs_iget() needs examining.  The comment \"can not call macro FreeXid here\nsince in a void func\" is no longer true.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e33ab086ae227a34e34b17e86dbb9d2dbaebb489",
      "tree": "02d5d6d90b0aad2032085bbdba07e69edbe9378f",
      "parents": [
        "96eb5419412fbc7f39fa45d987034c5d0e6e1202"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop BFS from using iget() and read_inode()\n\nStop the BFS filesystem from using iget() and read_inode().  Replace\nbfs_read_inode() with bfs_iget(), and call that instead of iget().  bfs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\nbfs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[kamalesh@linux.vnet.ibm.com: build fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96eb5419412fbc7f39fa45d987034c5d0e6e1202",
      "tree": "34a6ad2f777cb4f29ab5f2ca413dc9fef94d91bd",
      "parents": [
        "62328a02399ea7f1b26b06d757abe67b9cf48193"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop BEFS from using iget() and read_inode()\n\nStop the BEFS filesystem from using iget() and read_inode().  Replace\nbefs_read_inode() with befs_iget(), and call that instead of iget().\nbefs_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nbefs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Will Dyson \u003cwill_dyson@pobox.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62328a02399ea7f1b26b06d757abe67b9cf48193",
      "tree": "11ac645b65d8735db96c962c814b80adf6e8f195",
      "parents": [
        "210f855963ba5edc4c7150754a79709a7c8a0d3c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop autofs from using iget() and read_inode()\n\nStop the autofs filesystem from using iget() and read_inode().  Replace\nautofs_read_inode() with autofs_iget(), and call that instead of iget().\nautofs_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "210f855963ba5edc4c7150754a79709a7c8a0d3c",
      "tree": "10f5030c3b0eec9e1afe9923d28a99f548f14db4",
      "parents": [
        "69840b0d065a031a2e5b3fcc3f30560229e312da"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop AFFS from using iget() and read_inode()\n\nStop the AFFS filesystem from using iget() and read_inode().  Replace\naffs_read_inode() with affs_iget(), and call that instead of iget().\naffs_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\naffs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69840b0d065a031a2e5b3fcc3f30560229e312da",
      "tree": "8fc5f8934a71fd5e219a64462b6b72698e25e180",
      "parents": [
        "aa7fa240c7d4ed28ee2d1afacd97be2d76e3cb49"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: use iget_failed() in GFS2\n\nUse iget_failed() in GFS2 to kill a failed inode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa7fa240c7d4ed28ee2d1afacd97be2d76e3cb49",
      "tree": "fa1430062401374a03fa50af81f30724d281c366",
      "parents": [
        "b46980feed937868d3333514028bfbe9a651e4ca"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "iget: use iget_failed() in AFS\n\nUse iget_failed() in AFS to kill a failed inode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b46980feed937868d3333514028bfbe9a651e4ca",
      "tree": "97e610932986223932887af3c0ea00234856e540",
      "parents": [
        "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "iget: introduce a function to register iget failure\n\nIntroduce a function to register failure in an inode construction path.  This\nincludes marking the inode under construction as bad, unlocking it and\nreleasing it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f",
      "tree": "d4b17ef65960594681397a3acac02c2d248200b5",
      "parents": [
        "d1bc8e95445224276d7896b8b08cbb0b28a0ca80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)\n\nConvert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:\n\nperl -spi -e \u0027s/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\\1)/\u0027 `grep -rl \u0027ERR_PTR[(]*PTR_ERR\u0027 fs crypto net security`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1bc8e95445224276d7896b8b08cbb0b28a0ca80",
      "tree": "2742bf56000c4af02314d753b2416b5cabc520d5",
      "parents": [
        "ae5e29798afa2b11a01fcb4fab8b58fee47fe155"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "Add an ERR_CAST() function to complement ERR_PTR and co.\n\nAdd an ERR_CAST() function to complement ERR_PTR and co.  for the purposes\nof casting an error entyped as one pointer type to an error of another\npointer type whilst making it explicit as to what is going on.\n\nThis provides a replacement for the ERR_PTR(PTR_ERR(p)) construct.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae5e29798afa2b11a01fcb4fab8b58fee47fe155",
      "tree": "788f3eb9a8cc173219720eb58c1fb54f170c6b1f",
      "parents": [
        "46bca69682731104b42f99da763b9a08a0574291"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Thu Feb 07 00:15:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "MBCS: convert dmareadlock to mutex\n\nMBCS: Convert the semaphore dmareadlock to the mutex API\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46bca69682731104b42f99da763b9a08a0574291",
      "tree": "46871c6415ff483e23b5a497ec4761c70c3556af",
      "parents": [
        "a40ba8495798fa7eae6fa12b16a0d06d906ba47f"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Thu Feb 07 00:15:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "MBCS: convert dmawritelock to mutex\n\nMBCS: Convert the semaphore dmawritelock to the mutex API\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a40ba8495798fa7eae6fa12b16a0d06d906ba47f",
      "tree": "f741ef886c3cafcea261c184ce7776df098df8e4",
      "parents": [
        "92df5c3e38c0a0a66a456926039548275dfb3328"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Thu Feb 07 00:15:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "MBCS: convert algolock to mutex\n\nMBCS: Convert the semaphore algolock to the mutex API\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92df5c3e38c0a0a66a456926039548275dfb3328",
      "tree": "ce77e06c476e341e4ba2c624c0d9e0dc6d4c3975",
      "parents": [
        "bba1f603b88f30945ae4c5eccf2a6f5a12b877c5"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Thu Feb 07 00:15:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "vmcoreinfo: fix the configuration dependencies\n\nThis patch fixes the configuration dependencies in the vmcoreinfo data.\n\ni386\u0027s \"node_data\" is defined in arch/x86/mm/discontig_32.c,\nand x86_64\u0027s one is defined in arch/x86/mm/numa_64.c.\nThey depend on CONFIG_NUMA:\n  arch/x86/mm/Makefile_32:7\n    obj-$(CONFIG_NUMA) +\u003d discontig_32.o\n  arch/x86/mm/Makefile_64:7\n    obj-$(CONFIG_NUMA) +\u003d numa_64.o\n\nia64\u0027s \"pgdat_list\" is defined in arch/ia64/mm/discontig.c,\nand it depends on CONFIG_DISCONTIGMEM and CONFIG_SPARSEMEM:\n  arch/ia64/mm/Makefile:9-10\n    obj-$(CONFIG_DISCONTIGMEM) +\u003d discontig.o\n    obj-$(CONFIG_SPARSEMEM)    +\u003d discontig.o\n\nia64\u0027s \"node_memblk\" is defined in arch/ia64/mm/numa.c,\nand it depends on CONFIG_NUMA:\n  arch/ia64/mm/Makefile:8\n    obj-$(CONFIG_NUMA)         +\u003d numa.o\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bba1f603b88f30945ae4c5eccf2a6f5a12b877c5",
      "tree": "ae084f845fa4ede7b2926381419d725b7dd7d5d7",
      "parents": [
        "1e4f2955433231b4b02dc4a9eb5d4d403a8680e1"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Thu Feb 07 00:15:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "vmcoreinfo: add \"VMCOREINFO_\" to all the call for vmcoreinfo_append_str()\n\nFor readability, all the calls to vmcoreinfo_append_str() are changed to macros\nhaving a prefix \"VMCOREINFO_\".\n\nThis discussion is the following:\nhttp://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0584.html\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e4f2955433231b4b02dc4a9eb5d4d403a8680e1",
      "tree": "8414e9b4b5b22f201cbd993630d8ac13a98cd24c",
      "parents": [
        "c76f860c44357f560a763d2894e95464cab7b159"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Thu Feb 07 00:15:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "vmcoreinfo: use the existing offsetof() for VMCOREINFO_OFFSET()\n\nIt is better that the existing offsetof() is used for VMCOREINFO_OFFSET().\n\nThis discussion is the following:\nhttp://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0584.html\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c76f860c44357f560a763d2894e95464cab7b159",
      "tree": "49cc50570ae34b02222cf5a7f1023e5828ae246b",
      "parents": [
        "18a01a3beb9f25a70a51e12e3c1c3d273da10eca"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Thu Feb 07 00:15:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "vmcoreinfo: rename vmcoreinfo\u0027s macros returning the size\n\nThis patchset is for the vmcoreinfo data.\n\nThe vmcoreinfo data has the minimum debugging information only for dump\nfiltering.  makedumpfile (dump filtering command) gets it to distinguish\nunnecessary pages, and makedumpfile creates a small dumpfile.\n\nThis patch:\n\nVMCOREINFO_SIZE() should be renamed VMCOREINFO_STRUCT_SIZE() since it\u0027s always\nreturning the size of the struct with a given name. This change would allow\nVMCOREINFO_TYPEDEF_SIZE() to simply become VMCOREINFO_SIZE() since it need not\nbe used exclusively for typedefs.\n\nThis discussion is the following:\nhttp://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0582.html\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18a01a3beb9f25a70a51e12e3c1c3d273da10eca",
      "tree": "cfd4c3ea5147c7706d60054a8761077cdabd7e3a",
      "parents": [
        "72a7fe3967dbf86cb34e24fbf1d957fe24d2f246"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Thu Feb 07 00:15:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "Use BOOTMEM_EXCLUSIVE for kdump\n\nUse the BOOTMEM_EXCLUSIVE, introduced in the previous patch, to avoid\nconflicts while reserving the memory for the kdump capture kernel\n(crashkernel\u003d).\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72a7fe3967dbf86cb34e24fbf1d957fe24d2f246",
      "tree": "c19f7d0b530577359840e959cce204939caf0649",
      "parents": [
        "25fad945a7f7ff2cf06e437381c6a1121784dbd9"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Thu Feb 07 00:15:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "Introduce flags for reserve_bootmem()\n\nThis patchset adds a flags variable to reserve_bootmem() and uses the\nBOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions\nbetween crashkernel area and already used memory.\n\nThis patch:\n\nChange the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.\nIf that flag is set, the function returns with -EBUSY if the memory already\nhas been reserved in the past.  This is to avoid conflicts.\n\nBecause that code runs before SMP initialisation, there\u0027s no race condition\ninside reserve_bootmem_core().\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix powerpc build]\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25fad945a7f7ff2cf06e437381c6a1121784dbd9",
      "tree": "4f68c3cfb0a44801362c4b8271565a232773bfaa",
      "parents": [
        "e6ee512f5a77553a6fe08cad68b75d5fdfd2ffb8"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Feb 07 00:15:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "fs menu: small reorg\n\n- move minixfs and ROMfs to the Miscellaneous filesystems menu\n- move DNOTIFY config symbol so that it is adjacent to INOTIFY\n  instead of being split by the QUOTA config options\n- add some \u0027endif\u0027 annotations\n- remove some whitespace (extra blank lines)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6ee512f5a77553a6fe08cad68b75d5fdfd2ffb8",
      "tree": "09949c61810dd2824937a0f626fa4ff3e24fe881",
      "parents": [
        "f5519caad5c1828b2ab6d14bd9e7a8e047db12e3"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz.c: Resource management\n\nThis is a set of changes to implement proper resource management in the\ndriver, including iomem space reservation and operating on physical\naddresses ioremap()ped appropriately using accessory functions rather than\nunportable direct assignments.\n\nSome adjustments to code are made to reflect the architecture of the\ninterface, which is a centrally controlled multiport (or, as referred to\nfrom DEC documentation, a serial line multiplexer, going up to 8 lines\noriginally) rather than a bundle of separate ports.\n\nTypes are changed, where applicable, to specify the width of hardware\nregisters explicitly.  The interrupt handler is now managed in the\n-\u003estartup() and -\u003eshutdown() calls for consistency with other drivers and\nalso in preparation to handle the handover from the initial firmware-based\nconsole gracefully.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5519caad5c1828b2ab6d14bd9e7a8e047db12e3",
      "tree": "f5a6c29abc9b4b36da93b79372024c21640e66d2",
      "parents": [
        "ff11d0780376a3821d790a6ceb8b297d976b14fe"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz.c: Use a helper to cast from \"struct uart_port *\"\n\nReplace all casts from \"struct uart_port *\" to \"struct dz_port *\" with a\nconstruct based on container_of().  This makes the conversion work\nirrespective of where the former struct is located within the latter.\n\nBy popular request I have implemented it as an inline function rather than\na macro this time.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff11d0780376a3821d790a6ceb8b297d976b14fe",
      "tree": "89f035c09efdb91c1e3e899a40bd200115c22fb4",
      "parents": [
        "789c7048bfaa4901860b4c86606c2651fc2298f4"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: clean up and improve the setup of termios settings\n\nA set of changes to the way termios settings are propagated to the serial\nport hardware.  The DZ11 only supports a selection of fixed baud settings,\nso some requests may not be fulfilled.  Keep the old setting in such a case\nand failing that resort to 9600bps.  Also add a missing update of the\ntransmit timeout.  And remove the explicit encoding of the line selected\nfrom writes to the Line Parameters Register as it has been preencoded by\nthe -\u003eset_termios() call already.  Finally, remove a duplicate macro for\nthe Receiver Enable bit.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "789c7048bfaa4901860b4c86606c2651fc2298f4",
      "tree": "ed085a19ce1fcfc9500d8e291060fa50a6a9922d",
      "parents": [
        "54c0f37e9a200d74ec43cffa6526d9ad17a388a7"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "MAINTAINERS: add self for the dz serial driver\n\nNow that I have got the necessary piece of hardware (thanks, Thiemo!), I may\nwell offer myself as the maintainer for the dz serial driver.  I hope nobody\nobjects.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54c0f37e9a200d74ec43cffa6526d9ad17a388a7",
      "tree": "be288402e111b2b20350c296ccc325eda660f616",
      "parents": [
        "43d46ab1cdeb12b8d072cfdf84956073a1fa8866"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: handle special conditions on reception correctly\n\nHandle the read and ignore status masks correctly.  Handle the BREAK condition\nas expected: a framing error with a null character is a BREAK, any other\nframing error is a framing error indeed.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43d46ab1cdeb12b8d072cfdf84956073a1fa8866",
      "tree": "00e55a9babe058feef7065621f12c63dd493ff07",
      "parents": [
        "6d83c067ebd11d375b34c53192c10826947e8568"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: fix locking issues\n\nThe -\u003estart_tx(), -\u003estop_tx() and -\u003estop_rx() backends are called with the\nport\u0027s lock already taken.  Remove locking from within them and wrap around\ncalls as necessary.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d83c067ebd11d375b34c53192c10826947e8568",
      "tree": "f4923f30b187e9d0d21c3711fded6f507e4f0310",
      "parents": [
        "7287d765d5f2e946fdffbcba36088c44ebb35912"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: rename the serial console structure\n\nRename the serial console structure so that `modpost\u0027 does not complain about\na reference to an \"init\" section -- \"_console\" is magic.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7287d765d5f2e946fdffbcba36088c44ebb35912",
      "tree": "1e69f9fdd743dbf3f20474b2e69b3951616ed0e8",
      "parents": [
        "87cff7fb0be9045241eba948502c95c17bb5b944"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: update kconfig description\n\nReformat the Kconfig entries and update descriptions for accuracy.  Select the\ndriver by default for configurations of interest.  For the curious: 32BIT\nmeans only 32-bit DECstations support the device, not that the driver is not\n64-bit clean; I have not checked that either though.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87cff7fb0be9045241eba948502c95c17bb5b944",
      "tree": "a203e1e96bed62e09cf8cae397872685ff2a2454",
      "parents": [
        "0ba137e23e8d8f5cb15778b44be281c5687afc49"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: add and reorder inclusions, remove unneeded ones\n\nSort the header inclusions, add a few that are needed but pulled indirectly\nonly and remove ones that are not really used.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ba137e23e8d8f5cb15778b44be281c5687afc49",
      "tree": "0ee61cee68b30e114b121967ac523e288417a56d",
      "parents": [
        "dbab81281d3227af3d8a04aa748c5f41befa5d43"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: don\u0027t panic() when request_irq() fails\n\nWell, panic() is a little bit undue if request_irq() fails; there is probably\nno need to justify it any further.  Handle the case gracefully, by\nunregistering the driver.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dbab81281d3227af3d8a04aa748c5f41befa5d43",
      "tree": "2e496280d54012ea2de8a64e98c8a4a41a688d56",
      "parents": [
        "d4dd1467f2053b31e2fbb58763ff9d1e0399af45"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz: always check if it is safe to console_putchar()\n\nPolled transmission is tricky enough with the DZ11 design.  While \"loop\" is\nset to a high value, conceptually you are not allowed to transmit without\nchecking whether the device offers the right transmission line (yes, it is the\ndevice that selects the line -- the driver has no control over it other than\ndisabling the transmitter offered if it is the wrong one), so the loop has to\nbe run at least once.\n\nWell, the \u00271977 or PDP11 view of how serial lines should be handled...  Except\nthat the serial interface used to be quite an impressive board back then\nrather than chip.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4dd1467f2053b31e2fbb58763ff9d1e0399af45",
      "tree": "ed84d5a12ae5195cdc4d8b58a3ad7f6b7b5c76ca",
      "parents": [
        "870897a5ab60a6afeba0a7eff42d21faf79edf33"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Thu Feb 07 00:15:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:24 2008 -0800"
      },
      "message": "dz.h: remove useless unused module junk\n\nRemove unused module function prototypes that would not even build if enabled.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "870897a5ab60a6afeba0a7eff42d21faf79edf33",
      "tree": "d92a322c18f7e20bf0641151e05596aa46b25719",
      "parents": [
        "7ed31e0fa0e595a8840dbb6c60a7207b5bd90333"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "juhlenko@akamai.com",
        "time": "Thu Feb 07 00:15:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers/edac/i3000: document type promotion\n\nBy popular request, add a comment documenting the implicit type promotion\nhere.\n\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nSigned-off-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ed31e0fa0e595a8840dbb6c60a7207b5bd90333",
      "tree": "85fe0e335e21c4aa4f3372aced350c7c3ba5f13b",
      "parents": [
        "cd4755c2a9e691ada331084a76ac4458c4ff2749"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "h.mitake@gmail.com",
        "time": "Thu Feb 07 00:15:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers/edac: i3000: missing init code\n\nThere is a missing sequence of initialization code during startup.\n\nSigned-off-by: Hitoshi Mitake \u003ch.mitake@gmail.com\u003e\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nSigned-off-by: Doug Thompson \u003cdougthompson@xmisson.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd4755c2a9e691ada331084a76ac4458c4ff2749",
      "tree": "4b43c47bd06cebac7fcaae763680fbcfcacd3d15",
      "parents": [
        "f5c0454c865487822d030a820062c6c8f1565c5c"
      ],
      "author": {
        "name": "Doug Thompson",
        "email": "dougthompson@xmission.com",
        "time": "Thu Feb 07 00:15:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers/edac: mpc85xx: add static scope\n\nMade a previous global variable, static in scope\n\nSigned-off-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5c0454c865487822d030a820062c6c8f1565c5c",
      "tree": "3da12fb15cddadce818813e00d57173e943d3f36",
      "parents": [
        "6b09ff9d787911b0b46a4d286e68f1f84e8b0b94"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "juhlenko@akamai.com",
        "time": "Thu Feb 07 00:15:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers/edac: i3000: 64bit build\n\nModified to run on x86_64 as well as x86\n\ni3000_edac builds (and runs) fine on x86_64.\n\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nSigned-off-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b09ff9d787911b0b46a4d286e68f1f84e8b0b94",
      "tree": "933ef684e8881d7d9b5dbbcc60694b8f36815fea",
      "parents": [
        "4f4aeeabc061826376c9a72b4714d062664999ea"
      ],
      "author": {
        "name": "Bryan Boatright",
        "email": "b1@omega71.com",
        "time": "Thu Feb 07 00:14:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers/edac: pci: broken parity regression\n\nUsing the EDAC code in kernel.org kernel version 2.6.23.8 I am seeing the\nfollowing problem:\n\n    In the kernel there is a pci device attribute located in sysfs that is\n    checked by the EDAC PCI scanning code. If that attribute is set,\n    PCI parity/error scannining is skipped for that device. The attribute\n    is:\n\n            broken_parity_status\n\n    as is located in /sys/devices/pci\u003cXXX\u003e/0000:XX:YY.Z directorys for\n    PCI devices.\n\nI don\u0027t think this check was actually implemented.  I have a misbehaved card\nthat reports a parity error every 1000 ms:\n\nNov 25 07:28:43 beta kernel: EDAC PCI: Master Data Parity Error on 0000:05:01.0\nNov 25 07:28:44 beta kernel: EDAC PCI: Master Data Parity Error on 0000:05:01.0\nNov 25 07:28:45 beta kernel: EDAC PCI: Master Data Parity Error on 0000:05:01.0\n\nSetting that card\u0027s broken_parity_status bit did not mask the error:\n\necho \"1\" \u003e /sys/bus/pci/devices/0000:05:01.0/broken_parity_status\n\nI looked through the EDAC code and did not readily see any reference to\nbroken_parity_status at all (which makes sense based on the behavior I am\nseeing).  I applied the following patch as a proof-of-concept and now EDAC\u0027s\nPCI parity error reporting behaves as documented:\n\nbryan\n\nGood regression find, bryan. It used to work. sigh.\nI added more logic to your patch, for more coverage of the error.\n\nDoug T\n\nSigned-off-by: Bryan Boatright \u003cb1@omega71.com\u003e\nSigned-off-by: Doug Thompson \u003cdougthompson@xmisson.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f4aeeabc061826376c9a72b4714d062664999ea",
      "tree": "888c63a646bd3fef2943531d7187ffacc7c4b6fe",
      "parents": [
        "a9a753d53204bf0f42841f65679c7e1711833bcf"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "djiang@mvista.com",
        "time": "Thu Feb 07 00:14:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers-edac: add marvell mv64x60 driver\n\nMarvell mv64x60 SoC support for EDAC.  Used on PPC and MIPS platforms.\nDevelopment and testing done on PPC Motorola prpmc2800 ATCA board.\n\n[akpm@linux-foundation.org: make mv64x60_ctl_name static]\nSigned-off-by: Dave Jiang \u003cdjiang@mvista.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\nSigned-off-by: Douglas Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9a753d53204bf0f42841f65679c7e1711833bcf",
      "tree": "51aeeb0bd0a87b92204db1577f6dbac51bdee050",
      "parents": [
        "4d2b165eca960ae12767a6334c51416dca45756c"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "djiang@mvista.com",
        "time": "Thu Feb 07 00:14:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers-edac: add freescale mpc85xx driver\n\nEDAC chip driver support for Freescale MPC85xx platforms. PPC based.\n\nSigned-off-by: Dave Jiang \u003cdjiang@mvista.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\nSigned-off-by:\tDoug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d2b165eca960ae12767a6334c51416dca45756c",
      "tree": "165f72ece7541c60c09c152f4f8e3642e3af44bf",
      "parents": [
        "ce783d70b95416725e262866f5b11436f35f68a9"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "juhlenko@akamai.com",
        "time": "Thu Feb 07 00:14:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers-edac: i3000 replace macros with functions\n\nReplace function-like macros with functions.\n\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\nSigned-off-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce783d70b95416725e262866f5b11436f35f68a9",
      "tree": "e7a951256b83dccf37290430a9ff56521e247d7d",
      "parents": [
        "48764e4143c06672fc072eb482fdc4c75ee0f968"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "juhlenko@akamai.com",
        "time": "Thu Feb 07 00:14:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers-edac: i3000 code tidying\n\nStyle cleanup, mostly just 80-column fixes.\n\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\nSigned-off-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48764e4143c06672fc072eb482fdc4c75ee0f968",
      "tree": "a308089e6a6e5e680f24854dd7e6a7db0707373c",
      "parents": [
        "1d5f726cbf1b736338bbcd83ebc6ad758079261f"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 07 00:14:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "drivers-edac: add Cell MC driver\n\nAdds driver for the Cell memory controller when used without a Hypervisor such\nas on the IBM Cell blades.  There might still be some improvements to do to\nthis such as finding if it\u0027s possible to properly obtain more details about\nthe address of the error but it\u0027s good enough already to report CE counts\nwhich is our main priority at the moment.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\nSigned-off-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "1d5f726cbf1b736338bbcd83ebc6ad758079261f"
}
