)]}'
{
  "log": [
    {
      "commit": "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae",
      "tree": "c109d45d3fb8ccad461cfe6d9a4aa4d6005b38e1",
      "parents": [
        "49a7f04a4b9d45cd794741ce3d5d66524b37bdd0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Add #includes needed to permit the removal of asm/system.h\n\nasm/system.h is a cause of circular dependency problems because it contains\ncommonly used primitive stuff like barrier definitions and uncommonly used\nstuff like switch_to() that might require MMU definitions.\n\nasm/system.h has been disintegrated by this point on all arches into the\nfollowing common segments:\n\n (1) asm/barrier.h\n\n     Moved memory barrier definitions here.\n\n (2) asm/cmpxchg.h\n\n     Moved xchg() and cmpxchg() here.  #included in asm/atomic.h.\n\n (3) asm/bug.h\n\n     Moved die() and similar here.\n\n (4) asm/exec.h\n\n     Moved arch_align_stack() here.\n\n (5) asm/elf.h\n\n     Moved AT_VECTOR_SIZE_ARCH here.\n\n (6) asm/switch_to.h\n\n     Moved switch_to() here.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "d161a13f974c72fd7ff0069d39a3ae57cb5694ff",
      "tree": "0c6d6237b3eafbe362798d7727a02f509fd72ca9",
      "parents": [
        "587a1f1659e8b330b8738ef4901832a2b63f0bed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 03:36:29 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch procfs to umode_t use\n\nboth proc_dir_entry -\u003emode and populating functions\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7a32129a42cf167550008b363a017234d0b73f2a",
      "tree": "2bb24f6a441c03d53c50307ceda91a1470a03a09",
      "parents": [
        "eb12a679b242c03b9eaa38a67cae9fa3e17ddea6"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 10 12:41:41 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:54 2011 -0400"
      },
      "message": "drivers/misc: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required.\n\nWe will need this to avoid build failures pending a future implicit\nmodule.h presence cleanup.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "268bb0ce3e87872cb9290c322b0d35bce230d88f",
      "tree": "c8331ade4a3e24fc589c4eb62731bc2312d35333",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "message": "sanitize \u003clinux/prefetch.h\u003e usage\n\nCommit e66eed651fd1 (\"list: remove prefetching from regular list\niterators\") removed the include of prefetch.h from list.h, which\nuncovered several cases that had apparently relied on that rather\nobscure header file dependency.\n\nSo this fixes things up a bit, using\n\n   grep -L linux/prefetch.h $(git grep -l \u0027[^a-z_]prefetchw*(\u0027 -- \u0027*.[ch]\u0027)\n   grep -L \u0027prefetchw*(\u0027 $(git grep -l \u0027linux/prefetch.h\u0027 -- \u0027*.[ch]\u0027)\n\nto guide us in finding files that either need \u003clinux/prefetch.h\u003e\ninclusion, or have it despite not needing it.\n\nThere are more of them around (mostly network drivers), but this gets\nmany core ones.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5de1743e2434fcb24e3d944a20130029b8fe867a",
      "tree": "0f3a3cb9b2ee2e58d1df8939cc8ab9783aeab896",
      "parents": [
        "fc5da22ae35d4720be59af8787a8a6d5e4da9517"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "wanlong.gao@gmail.com",
        "time": "Thu Apr 14 15:22:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "drivers/misc/sgi-gru/grufile.c: fix the wrong members of gru_chip\n\nFix the wrong members and the wrong function\u0027s definition, since the\nirq_chip had changed.\n\nSigned-off-by: Wanlong Gao \u003cwanlong.gao@gmail.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "dced35aeb0367dda2636ee9ee914bda14510dcc9",
      "tree": "71fd68d024a91c5c87f02f488962fcd852add0a8",
      "parents": [
        "2a8f55b1f577c205e71ddcb696564cbd05c50eb5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 17:49:12 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "drivers: Final irq namespace conversion\n\nScripted with coccinelle.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8ac727c1e65ba98fc2d82bb28288312cc3b7473b",
      "tree": "8e5a73af80eae5588639db3707ed2e58fb260088",
      "parents": [
        "d100d406044b76475c7baec72ab6770306ea1a8d"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Fri Jan 14 06:12:44 2011 -0800"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 14:05:34 2011 +0100"
      },
      "message": "misc: change to new flag variable\n\nReplace EXTRA_CFLAGS with ccflags-y.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "8c1840f15feecb6961f480cad1a7a8e53a3f2ba6",
      "tree": "fad668a2183de19b8ea0b93c9fe743d9c743e67d",
      "parents": [
        "0fbcae222b8aa3a47034a484e02e7fc14050c783"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 10 15:23:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:44 2010 -0800"
      },
      "message": "sgi-gru: use for_each_set_bit()\n\nReplace open-coded loop with for_each_set_bit().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76148df19cbd5437dc5358408a58c7cc6366ecf4",
      "tree": "d592f1c21d072d9cefbf18f27081dca05ea655db",
      "parents": [
        "56abcf24ff993291b20efd6e3402cd3d12f5cee2"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:17 2009 -0800"
      },
      "message": "gru: send cross partition interrupts using the gru\n\nGRU Message queue instructions are used to deliver messages to other SSIs\nwithin the numalink domain.  In most cases, a single GRU mesq instruction\nwill deliver both the message AND an interrupt to notify the other SSI\nthat a messsage is present.  In some cases, however, the interrupt must be\nsent explicitly.\n\nTo improve resilency, the GRU driver should send these explicit interrupts\nusing the GRU to write the remote chipset register.  Current code sends\nthe interrupt using a cpu instruction to write the chipset register.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5ae6e82bf08bea2a1ae0fcc0d6e1656264c2d23",
      "tree": "671c72dad6b23be4bed4a35779d3d99f08d8a90e",
      "parents": [
        "5958ab88f721d312b531d17705fc3ed54102fa05"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:17 2009 -0800"
      },
      "message": "gru: update driver version number\n\nUpdate the version number of the GRU driver.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5958ab88f721d312b531d17705fc3ed54102fa05",
      "tree": "0fdd2a982c1fa0370d496a25f7b3ef70ccb96bde",
      "parents": [
        "2ce4d4c937ce4c14704f02ae60e2e07e3906c68a"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:17 2009 -0800"
      },
      "message": "gru: improve GRU TLB dropin statistics\n\nUpdate the TLB dropin statistics kept for each GRU context.  Count TLB\ndropins separate from the misses - some misses do not result in a TLB\ndropin.  Some of the diagnostics need both counts.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ce4d4c937ce4c14704f02ae60e2e07e3906c68a",
      "tree": "bf6b6f32910e8550bd30dd338172a46e35d6d81e",
      "parents": [
        "74ccd09526a0254c362adcc6c862354d724aa803"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:17 2009 -0800"
      },
      "message": "gru: fix GRU interrupt race at deallocate\n\nFix a race where an interrupt could be received for a GRU context that has\nbeen deallocated.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74ccd09526a0254c362adcc6c862354d724aa803",
      "tree": "a68e4a3be9d83eb7e6bb47eba131e73bd06684d8",
      "parents": [
        "0cd2b0813aac660f5f7a6574083157a70c152dd5"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:17 2009 -0800"
      },
      "message": "gru: add hugepage support\n\nAdd support for hugepages. Easier than I originally thought.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0cd2b0813aac660f5f7a6574083157a70c152dd5",
      "tree": "906bf285391bf3d9ad72f9c94838fbb067453ec4",
      "parents": [
        "5658366ab55cccab24b4799b3ff8e94bdc1cc529"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: fix bug in allocation of kernel contexts\n\nFix a bug in the assignment of GRU contexts used for kernel functions.  If\na sleep occurs on the wait for a semaphore, the thread could switch cpus\nand allocate resources on the wrong blade.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5658366ab55cccab24b4799b3ff8e94bdc1cc529",
      "tree": "3b0b6b413983f17debaa71a56eb587b1a1a399e6",
      "parents": [
        "41314790883c8ad2dfb2cb295eb8177069627044"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: update GRU structures to match latest hardware spec\n\nAdd a few new definitions for chipset MMR field names.  This matches rev\n0.7 of the hardware spec.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41314790883c8ad2dfb2cb295eb8177069627044",
      "tree": "170f974239c37cbb63db50bb8079a808f970c3f8",
      "parents": [
        "54465dcc035b2b55aa4d8130fa6d9410437f7d8d"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: check for correct GRU chiplet assignment\n\nSimplify the code that checks for correct assignment of GRU contexts to\nusers.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54465dcc035b2b55aa4d8130fa6d9410437f7d8d",
      "tree": "464578780c31e2a7256c1bcd2a99776e7b2d0069",
      "parents": [
        "9c13cb331f7054d537d4caa094d3ebbba544833a"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: remove stray local_irq_enable\n\nRemove a stray local_irq_enable() in the GRU TLB dropin code.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c13cb331f7054d537d4caa094d3ebbba544833a",
      "tree": "7703c6eaa59065656eb7bede772b0dfd84cebd0d",
      "parents": [
        "1848a710287b33a92c3c5b2f4c3ae201a879eb7e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: add symbolic names for GRU error code\n\nUse symbol names instead of numbers for error return values for the vtop\nfunctions.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1848a710287b33a92c3c5b2f4c3ae201a879eb7e",
      "tree": "dec401fd0857ee69b34d88cb19ac1f9a0307c1ea",
      "parents": [
        "c550222f64265c9384c45d7f691445386025a82b"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: fix bug in exception handling\n\nFix a GRU driver bug converting a CBR address to the context that contains\nthe CBR.  The conversion is rarely done so performance does not matter.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c550222f64265c9384c45d7f691445386025a82b",
      "tree": "562d45bf656c8bafc9c0dd5b3897dba5da6ae9a3",
      "parents": [
        "57ebb0342c12f00e7a6d15ba59bb6c3ee501c3af"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: preload tlb for bcopy instructions\n\nAdd anticipatory TLB dropins for GRU TLB misses that occur on BCOPY\ninstructions that copy large amounts of data.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57ebb0342c12f00e7a6d15ba59bb6c3ee501c3af",
      "tree": "a81dd6557fea6e79d6ff277b0477126817a05dcd",
      "parents": [
        "563447d7eb04c9b382f90a132be126a21a635647"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: expicitly set instruction status to active\n\nExplicitly set GRU instructions to \"ACTIVE\".  This eliminates the need for\nbarriers that would have been necessary to prevent reading the instruction\n\"status\" field before the GRU had actually started the instruction.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "563447d7eb04c9b382f90a132be126a21a635647",
      "tree": "66db9c281ed1b64fcdceab1beb34350339bf306c",
      "parents": [
        "4107e1d38a23028c2a3bc23dd948265dbe6becba"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: add additional GRU statistics\n\nAdd additional GRU statistics \u0026 debug messages.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4107e1d38a23028c2a3bc23dd948265dbe6becba",
      "tree": "3c64087639dc327e42447f015f3c4b01c4a1de39",
      "parents": [
        "67bf04a5c2574e9495f660f418f6df776821d578"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:16 2009 -0800"
      },
      "message": "gru: update irq infrastructure\n\nUpdate the GRU irq allocate/free functions to use the latest upstream\ninfrastructure.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67bf04a5c2574e9495f660f418f6df776821d578",
      "tree": "ff28ab4983b007136da88786c8966ea1598841a0",
      "parents": [
        "e006043a4d2da52bba9fd9cb7e5a22e2951ff69b"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: fix prefetch and speculation bugs\n\nFix several bugs related to prefetch, ordering \u0026 speculation:\n\n\t- GRU cch_allocate() instruction causes cacheable memory\n\t  to be created. Add a barriers to prevent speculation\n\t  from prefetching data before it exists.\n\t- Add memory barriers before cache-flush instructions to ensure\n\t  that previously stored data is included in the line flushed to memory.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e006043a4d2da52bba9fd9cb7e5a22e2951ff69b",
      "tree": "21fcb2c1997b3070b54df12ec4102d2489deeecd",
      "parents": [
        "33f3648342dc40f8bd6383a5a1a91c22e06f6b77"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: check for valid vma\n\nFix bug caused by failure to allocate a GRU gts structure.  The old code\nfailed to handle the case where the vma was invalid.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33f3648342dc40f8bd6383a5a1a91c22e06f6b77",
      "tree": "27efd17d8ef0fcc0d5c42a8cc4b0d87accae8266",
      "parents": [
        "b8229bedd1f39799dc83d5c0dad0bd9cd3e5f44c"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: add test for gru_copy_gpa\n\nImprove existing driver self-tests.  Add a new debugging test to the SGI\nGRU driver for verifying the global GRU copy function.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8229bedd1f39799dc83d5c0dad0bd9cd3e5f44c",
      "tree": "2e504f7392de859c9df4598e544853e8d7bc81e9",
      "parents": [
        "7f2251b1bcdd3d2971b2fde3008b270ea11b8780"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: add debug option for cache flushing\n\nAdd a debug option to the SGI GRU driver for flushing GRU cache lines from\nmemory.  In theory this is not needed but it is useful for debugging.\nThis has no use by end users.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f2251b1bcdd3d2971b2fde3008b270ea11b8780",
      "tree": "5fc3a2fc089188a6a61e16374a5b715db280aca7",
      "parents": [
        "6c9620c64be3920487c0533e0ab6724dad565d59"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: handle failures to mmu_notifier_register\n\nUnder some conditions, mmu_notifier_register() will fail to register a\nmmu_notifier.  Fix the GRU driver to correctly handle these failures.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c9620c64be3920487c0533e0ab6724dad565d59",
      "tree": "2e554d06b85b60dbc2e0386dd1114ed118d6d354",
      "parents": [
        "648eb8e50200a09db2488623958d9cbd4b8aaf55"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: support 64-bit GRU addresses\n\nIncrease the maximum address supported by the SGI GRU driver to a full 64\nbits.  Note that GRU addresses are not always the same as socket virtual\naddresses.  Sockets may not necessarily support the full 64 bits.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "648eb8e50200a09db2488623958d9cbd4b8aaf55",
      "tree": "b8f2dc6444eccbd7a34cdea784528a46eeebb84b",
      "parents": [
        "f2965d68b6775290218ff2a040e64c8b40556280"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: improve messages for malfunctioning GRUs\n\nImprove error messages for malfunctioning GRUs.  Identify the type of\ninstruction that is failing.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2965d68b6775290218ff2a040e64c8b40556280",
      "tree": "69f058811c32d0aa69ffd2814dd45c6f2886201b",
      "parents": [
        "99f7c229b32bdf7424fbeb1d0d1b3883e14e97d0"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: fix bug in module unload\n\nFix bug in module unload.  Previous code was not correctly deleting the\nfiles in /proc.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99f7c229b32bdf7424fbeb1d0d1b3883e14e97d0",
      "tree": "bc5cbd2cd6c8452faacfb2e27dc1fe9dc3e1000a",
      "parents": [
        "55484c45dbeca2eec7642932ec3f60f8a2d4bdbf"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: allow users to specify gru chiplet 3\n\nThis patch builds on the infrastructure introduced in the patches that\nallow user specification of GRU blades \u0026 chiplets for context allocation.\n\nThis patch simplifies the algorithms for migrating GRU contexts between\nblades.\n\nNo new functionality is introduced.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55484c45dbeca2eec7642932ec3f60f8a2d4bdbf",
      "tree": "4927e959a656def901bb105605df4ab6977ab2d1",
      "parents": [
        "518e5cd4aae476042bdee511e0e00c8670c0df42"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:15 2009 -0800"
      },
      "message": "gru: allow users to specify gru chiplet 2\n\nAdd support to the GRU driver to allow users to specify the blade \u0026\nchiplet for allocation of GRU contexts.  Add new statistics for context\nloading/unloading/retargeting.  Also deleted a few GRU stats that were no\nlonger being unused.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "518e5cd4aae476042bdee511e0e00c8670c0df42",
      "tree": "ca65637bbc1c1e75b08bcb9082d62e28040b54bd",
      "parents": [
        "9178052fda2f934535f0b9940b987c3ac4c51bd7"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:14 2009 -0800"
      },
      "message": "gru: allow users to specify gru chiplet 1\n\nAdd table \u0026 user request infrastructure that is needed to allow users to\nspecify the blade and chiplet for allocation of GRU contexts.  Use of this\ninformation is in a subsequent patch.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9178052fda2f934535f0b9940b987c3ac4c51bd7",
      "tree": "2260823536e4199b9e4d2acb0b4c455877f4f391",
      "parents": [
        "b61fc69bb61838e99b368d208e6e2ee363eba2a1"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:14 2009 -0800"
      },
      "message": "gru: handle blades without memory\n\nDo not use alloc_pages_exact_node() to allocate GRU tables.  If a blade\nhas no local memory, nid will be -1.  Use alloc_pages_node() instead.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b61fc69bb61838e99b368d208e6e2ee363eba2a1",
      "tree": "e499fe1d706cab16561551b3ff49f9f5450659b1",
      "parents": [
        "091f1a10614db89a108cda980425799730d73d8a"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:14 2009 -0800"
      },
      "message": "gru: fix istatus race in GRU tlb dropin\n\nTLB dropins require updates to the CBR instruction istatus field.  This is\nneeded to resolve race conditions in the chip.\n\nThe code currently uses the user address of the CBR.  This works but opens\nup additional endcases related to stealing of contexts and accessing the\nCBR from tasks that do not have access to the user address space.  (Some\nof this non-user task access is debug code that is not currently being\npushed to the community).\n\nUser CBRs are also directly accessible using the kernel mapping of the\nCBR.  Change the TLB dropin code to use the the kernel mapping of the CBR.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "091f1a10614db89a108cda980425799730d73d8a",
      "tree": "1564f5eec330225cc652c9c89209d84898a7c653",
      "parents": [
        "827f02febfcdfb03bc056bf479a13b5bcb35dfd7"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:14 2009 -0800"
      },
      "message": "gru: add comments raised in previous code reviews\n\nAdd comments from previous code reviews.  The comments help explain some\nof the more esoteric aspects of the driver.\n\nMove a free() to the other side of an unlock.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "827f02febfcdfb03bc056bf479a13b5bcb35dfd7",
      "tree": "770bab4d08009d7a1ab8b1dd8906d01af7414bf8",
      "parents": [
        "57e6d258b1e41cd7ceb26fa43ce116939d8440b1"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 15 16:48:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:14 2009 -0800"
      },
      "message": "gru: initial GRU based on blade topology\n\nChange the GRU initialization code to initialize based on blade topology\ninstead of node topology.  The result is the same but blade-based\ninitialization is cleaner.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "289750d1f1fd4a715baa2a2c6dd0cec2b8317fd7",
      "tree": "2c525297c460a9ab98b9649eb3021e534a8e77fd",
      "parents": [
        "fae419f2abd15ab7d1cd1413e6683a276a4e14e2"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue Dec 15 16:47:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:13 2009 -0800"
      },
      "message": "X86: uv: implement a gru_read_gpa kernel function\n\nThe BIOS has decided to store a pointer to the partition reserved page in\na scratch MMR.  The GRU is only able to read an MMR using a vload\ninstruction.  The gru_read_gpa() function will implemented.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "d39b7dd1dcbf394a1cb897457c862dafe9a20ac5",
      "tree": "2eebf445f1b61cf09abd62d5a2dc4a314f0d6803",
      "parents": [
        "91d3f9bacdb4950d2f79fe2ba296aa249f60d06c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:48:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:48:30 2009 -0800"
      },
      "message": "sgi-gru: decrapfiy options_write() function\n\nNot a single line of actual code in the function was really\nfundamentally correct.\n\nProblems ranged from lack of proper range checking, to removing the last\ncharacter written (which admittedly is usually \u0027\\n\u0027), to not accepting\nhex numbers even though the \u0027show\u0027 routine would show the data in that\nformat.\n\nThis tries to do better.\n\nAcked-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nTested-and-acked-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: stable@kernel.org\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Michael Gilbert \u003cmichael.s.gilbert@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "828c09509b9695271bcbdc53e9fc9a6a737148d2",
      "tree": "072ffad6f02db7bf4095e07e2b90247cfa042998",
      "parents": [
        "1c4115e595dec42aa0e81ba47ef46e35b34ed428"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 01 15:43:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:11 2009 -0700"
      },
      "message": "const: constify remaining file_operations\n\n[akpm@linux-foundation.org: fix KVM]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e5f1138d76e45b0ce56314ba0587e5942b55dcc",
      "tree": "992d0406fafc53738f5c1f42b9e28682d3cb5dee",
      "parents": [
        "f8679af874b604db78d59d2a0a873a7f3d542842"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Sep 23 15:57:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:05 2009 -0700"
      },
      "message": "gru: allocation may fail in quicktest1()\n\nThe allocation may fail.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8679af874b604db78d59d2a0a873a7f3d542842",
      "tree": "06e42d7e155223d20dfb722718d8acc430c5c710",
      "parents": [
        "858f09930b32c11b40fd0c5c467982ba09b10894"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:05 2009 -0700"
      },
      "message": "gru: use proc_create()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8820f27ad9a5ad2a62cdcdf425d7921c31831800",
      "tree": "adbfe206274c1789f0c2bf6f514573c0ae96ec0c",
      "parents": [
        "229a0505f2c4387555318e14c80e1362be2e39f7"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: copyright fixes\n\nFix the copyright statements in a couple of GRU files.  No functional\nchanges are being made.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "229a0505f2c4387555318e14c80e1362be2e39f7",
      "tree": "01ff5a74b5bf44485023e8c63620e5dde0912e03",
      "parents": [
        "2b702b28addc0f9eb2f37148f0b99f546cadd30a"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: remove references to the obsolete global status handle\n\nDelete references to the SGI GRU GSH hardware resources.  These GRU\nresources have been deleted from the hardware.  (These resources have\nnever benn used, anyway).\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b702b28addc0f9eb2f37148f0b99f546cadd30a",
      "tree": "9313d3f09de281de0291baa77bc4f5d0057b4b8d",
      "parents": [
        "1926ee85a903d189c5702eed6531be321e33eb47"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: fixes to grudump utility\n\nMinor fixes to the SGI GRU grudump facility:\n\t- fix address where user data is written\n\t- add gru number to data passed to user\n\t- indicate if context is locked\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1926ee85a903d189c5702eed6531be321e33eb47",
      "tree": "1ae951591d3be09b86479800e2a4f03f119f4d78",
      "parents": [
        "b1b19fcfa417cf62447413d6e8b9b6598adf00b9"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: fix potential use-after-free when purging GRU tlbs\n\nFix potential SGI GRU bug that could cause a use-after-free.  If one\nthread in a task is flushing the GRU and another thread destroys the GRU\ncontext, there is the potential to access a table after it has been freed.\n\nCopy the gms pointer to a local variable before unlocking the gts table.\nNote that no refcnt is needed for the gms - the reference is held\nindirectly by the task\u0027s mm_struct.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1b19fcfa417cf62447413d6e8b9b6598adf00b9",
      "tree": "843b78d76879848fa8907ce24662ecc568012219",
      "parents": [
        "92b39388eeb45326feb0fa8bd69dbbce66c9efbf"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: add user request to specify gru slice\n\nAdd a user request to specify the gru instruction slice parameter for user\ncontexts.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92b39388eeb45326feb0fa8bd69dbbce66c9efbf",
      "tree": "f39193cc5341dfd4ed3b807f9f802c4575822a29",
      "parents": [
        "9f2501142bd3c496afa7efdf18583aab56fe3134"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: generic infrastructure for context options\n\nChange the user GRU request for specifying the \"task_slice\" option to use\na generic infrastructure that can be expanded in the future to include\nadditional context options.  No new capabilities are added with this\npatch.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f2501142bd3c496afa7efdf18583aab56fe3134",
      "tree": "c805d705289c0dbfcb6aee9f15313f0a46340f7f",
      "parents": [
        "6471cd4d6c2526f3df693895a6bfa70353fad3f7"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: cleanup gru inline functions\n\nCleanup of GRU inline functions to eliminate unnecessary inline code.\nUpdate function descriptions.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6471cd4d6c2526f3df693895a6bfa70353fad3f7",
      "tree": "002c7ff3f7942082727ba1b041200eb94bcbe53e",
      "parents": [
        "7e796a72a2691d7094fd62da61097294d0d59ce4"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: delete user request for fetching chiplet status\n\nDelete the user request for fetching the status of a GRU chiplet.  This\nrequest has been made obsolete by other changes.  Note: this is not a\nchange to a user API - there are no compatibility issues with this change.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e796a72a2691d7094fd62da61097294d0d59ce4",
      "tree": "9e8d4e1eae9a2d23f604f0af5d101979dc7afec7",
      "parents": [
        "d6e2fbce0d70c2072a1c478dbd37b34d27129d74"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: collect per-context user statistics\n\nCollect GRU statistics for each user GRU context.  Statistics are kept for\nTLB misses \u0026 content resource contention.  Add user request for retrieving\nthe statistics.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6e2fbce0d70c2072a1c478dbd37b34d27129d74",
      "tree": "a5751ae55607dae0e9d394bf09857d15ea72c028",
      "parents": [
        "d5826dd6002f23940458860701ce22fba9df2614"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: fix automatic retry of gru instruction failures\n\nFix bug in automatic retry of GRU instruction failures.  CBR substatus\n(message queue failure) was being checked incorrectly.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5826dd6002f23940458860701ce22fba9df2614",
      "tree": "b0220c628cc2606b77fd39c38144c83396b83ca9",
      "parents": [
        "1a2c09e3b41e334b6651d53b39cfe8ceefbc45f8"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: add user request to explicitly unload a gru context\n\nAdd user function to explicitly unload GRU kernel contexts from the GRU.\nOnly contexts that are not in-use will be unloaded.\n\nThis function is primarily for testing.  It is not expected that this will\nbe used in normal production systems.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a2c09e3b41e334b6651d53b39cfe8ceefbc45f8",
      "tree": "f005fcb5c5251256767b15f4a23ee220e6de5c88",
      "parents": [
        "270952a907220c0331fdaecbb55df892921c5e2d"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:02 2009 -0700"
      },
      "message": "gru: fix cache coherency issues with instruction retry\n\nFix two problems related to GRU instruction failures.  Cache coherency is\nnot maintained for CBEs except when loading or unloading contexts.  When\nreading a CBE to extract error information, the CBE must first be flushed\nfrom the cache.\n\nThe function that reads kerrnel CBEs was reading the wrong CBE.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "270952a907220c0331fdaecbb55df892921c5e2d",
      "tree": "374bc1a642108f2c878a86903a70d8af8cd7a04a",
      "parents": [
        "eb5bd5e52a8eafb1ddb42f983d41f97552afa106"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:02 2009 -0700"
      },
      "message": "gru: update to rev 0.9 of gru spec\n\nUpdate GRU driver to the latest version of the GRU spec. This consists\nof minor updates:\n\t- changes \u0026 additions to error status bits\n\t- new restriction on handling of TLB misses while in FMM mode\n\t- new field (not used by software) in TFH\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb5bd5e52a8eafb1ddb42f983d41f97552afa106",
      "tree": "e23bb25f5f6530bf6adc6cabdf3642d9611cfc00",
      "parents": [
        "9120dec47f150636d85b3dba03318ccecd181c79"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:02 2009 -0700"
      },
      "message": "gru: update gru kernel self tests\n\nChange the kernel self tests that can be optionally executed on GRU\ninitialization.  This is primarily for testing.\n\nEliminate the BUG statements on failure and return bad status.  Add ioctl\ninterface to execute the tests on demand.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9120dec47f150636d85b3dba03318ccecd181c79",
      "tree": "8819f1aa2b71992c8a4d80e974e7236c0d762fdb",
      "parents": [
        "4a7a17c1188a878e9f00e4ca8dc724c7cff17606"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: support for asynchronous gru instructions\n\nAdd support for asynchronous GRU instructions.  Currently, asynchronous\ninstructions are supported only for GRU instructions issued by the kernel.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a7a17c1188a878e9f00e4ca8dc724c7cff17606",
      "tree": "e7c728b3031534620fbb01ab0ae059ae28fd5f89",
      "parents": [
        "940229b9c0dcd9b6e1d64d0d26eba00238ddae98"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: support instruction completion interrupts\n\nAdd support for interrupts generated by GRU instruction completion.\nPreviously, the only interrupts were for TLB misses.  The hardware also\nsupports interrupts on instruction completion.  This will be supported for\ninstructions issued by the kernel.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "940229b9c0dcd9b6e1d64d0d26eba00238ddae98",
      "tree": "62df332cc772d692af3bce50de8b9210dafead3d",
      "parents": [
        "17b49a67a6a59f0e9f3c22e67ddb602410e8e182"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: check context state on reload\n\nCheck whether the gru state being loaded into a gru is from a new context\nor a previously unloaded context.  If new, simply zero out the hardware\ncontext; if unloaded and valid, reload the old state.\n\nThis change is primarily for reloading kernel contexts where the previous\nis not required to be saved.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17b49a67a6a59f0e9f3c22e67ddb602410e8e182",
      "tree": "c12156560f6ed549d008ce4d630d791be11f4999",
      "parents": [
        "3eac2e95d7bb92222e185e445eca1fe3f695050f"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: fix handling of mesq failures\n\nFix endcase in handling GRU message queue failures due to NACKs of PUT\nrequests.  Must ensure that the \"present\" bits are cleared before\nresending the message.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eac2e95d7bb92222e185e445eca1fe3f695050f",
      "tree": "51edba7b926d3587dfa40646bf7b453f47d26dff",
      "parents": [
        "836ce679c0b5b5040164171afc33753396864b30"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: support contexts with zero dsrs or cbrs\n\nSupport alocation of GRU contexts that contain zero DSR or CBR resources.\nSome instructions do not require DSR resources.  Contexts without CBR\nresources are useful for diagnostics.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "836ce679c0b5b5040164171afc33753396864b30",
      "tree": "786be786c29fa6821d8ee95668393cd43193a278",
      "parents": [
        "6e9100741ca430eeef8022794f8b62a23a5916af"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: change resource assignment for kernel threads\n\nChange the way GRU resources are assigned for kernel threads.  GRU\ncontexts for kernel threads are now allocated on demand and can be stolen\nby user processes when idle.  This allows MPI jobs to use ALL of the GRU\nresources when the kernel is not using them.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e9100741ca430eeef8022794f8b62a23a5916af",
      "tree": "4c19d2cbbd2d3f1cd429946120c078b653ae67b3",
      "parents": [
        "d57c82b10709bbb1deb7eb26cf42abcde8851e4d"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: support cch_allocate for kernel threads\n\nChange the interface to cch_allocate so that it can be used to allocate\nGRU contexts for kernel threads.  Kernel threads use the GRU in unmapped\nmode and do not require ASIDs for the GRU TLB.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d57c82b10709bbb1deb7eb26cf42abcde8851e4d",
      "tree": "6e7e2a9e9e9254cfe63e94b8ee14cd1250324160",
      "parents": [
        "364b76df80f62cee1b66e871df2f69db6e3d3d9e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: change context load and unload\n\nRemove \"static\" from the functions for loading/unloading GRU contexts.\nThese functions will be called from other GRU files.  Fix bug in unlocking\ngru context.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "364b76df80f62cee1b66e871df2f69db6e3d3d9e",
      "tree": "7289e8489a7b4d5441a867be44ad152088517450",
      "parents": [
        "9cc9b056ea51608788609d7e26c7db55ef81bb2e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: dynamic allocation of kernel contexts\n\nChange the interface to gru_alloc_gts() so that it can be used to allocate\nGRU contexts for kernel threads.  Kernel threads do not have vdata\nstructures for the GRU contexts.  The GRU resource count are now passed\nexplicitly instead of inside the vdata structure.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cc9b056ea51608788609d7e26c7db55ef81bb2e",
      "tree": "e6381d7575babaee9658c5a2bc007a8dd2ec49ae",
      "parents": [
        "cd1334f03f7b799bc6893b511daf2080e8f73863"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: dump chiplet state\n\nAdd support for dumpping the state of an entire GRU chiplet.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd1334f03f7b799bc6893b511daf2080e8f73863",
      "tree": "468d9bc99e19aa7895321927eaf30c4dae55166f",
      "parents": [
        "d6580a9f15238b87e618310c862231ae3f352d2d"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: bug fixes for GRU exception handling\n\nBug fixes for GRU exception handling.  Additional fields from the CBR must\nbe returned to the user to allow the user to correctly diagnose GRU\nexceptions.\n\nHandle endcase in TFH TLB miss handling.  Verify that TFH actually\nindicates a pending exception.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6484eb3e2a81807722c5f28efef94d8338b7b996",
      "tree": "10ce36f412c2ff0c7eb399af1a189f8e354f56db",
      "parents": [
        "b3c466ce512923298ae8c0121d3e9f397a3f1210"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not check NUMA node ID when the caller knows the node is valid\n\nCallers of alloc_pages_node() can optionally specify -1 as a node to mean\n\"allocate from the current node\".  However, a number of the callers in\nfast paths know for a fact their node is valid.  To avoid a comparison and\nbranch, this patch adds alloc_pages_exact_node() that only checks the nid\nwith VM_BUG_ON().  Callers that know their node is valid are then\nconverted.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\t[for the SLOB NUMA bits]\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e873cff0fada2b0532ca5104d5b5f5b02aa442b2",
      "tree": "d5a751a5a4d8cb75b7110700b2c929f0cb52a7e4",
      "parents": [
        "2d7197f412e75587037449960bc4c7ea06155a7f"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue Apr 21 12:24:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:50 2009 -0700"
      },
      "message": "sgi-xp/sgi-gru: allow modules to load on non-uv systems\n\nFor an upcoming distro release, we need to have the xp kernel module\nloadable even when not on UV equipment.  The xpc module will not load.\nThis will allow one set of modules dependent upon xp to work on either UV\nor non-UV equipment.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b8274e93fbabc7534aa51f95551c30aecdd0066",
      "tree": "f1cfc0e87b07a4094ee06d2dc73673635b4b1775",
      "parents": [
        "27ca8a7b2bdfb3e22e67fbd5df58e6b6f0bbcd48"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:07 2009 -0700"
      },
      "message": "sgi-gru: support multiple pagesizes in GRU\n\nAdd multiple pagesize support to the GRU driver.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27ca8a7b2bdfb3e22e67fbd5df58e6b6f0bbcd48",
      "tree": "c7fbe657ba4d31b1977b7247dd7626414246a1c3",
      "parents": [
        "e1c3219d06447dab8a87b96df1211d158e21071e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:07 2009 -0700"
      },
      "message": "sgi-gru: fix bugs related to module unload of the GRU driver\n\nFix bugs related to module unload of the GRU driver.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1c3219d06447dab8a87b96df1211d158e21071e",
      "tree": "aa3a5ea8af148d2d7d461d61618d7820f099148a",
      "parents": [
        "6f2584f47474d29ce829604bfc8b56c10b352fdb"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:06 2009 -0700"
      },
      "message": "sgi-gru: macro for scanning all gru chiplets\n\nAdd macro for scanning all active GRU chiplets.  Maximum chiplet id is\nsaved during GRU initialization.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f2584f47474d29ce829604bfc8b56c10b352fdb",
      "tree": "f5b5c63c7c73785a641c995c2fe48b4c5cc726eb",
      "parents": [
        "ecdaf2b55251f718a1fbaf4a3f72bfd6e25c582c"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:06 2009 -0700"
      },
      "message": "sgi-gru: add support to the GRU driver for message queue interrupts\n\nAdd support to the GRU driver for message queue interrupts.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecdaf2b55251f718a1fbaf4a3f72bfd6e25c582c",
      "tree": "2c85778f12e1423d8cc05ce6be6da6e8d2c9a475",
      "parents": [
        "874194123718e625aa96632bac457d686ba1378e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:06 2009 -0700"
      },
      "message": "sgi-gru: restructure the GRU vtop functions\n\nRestructure the GRU vtop functions in preparation for future changes.\nThis patch simply moves code around \u0026 does not change the algorithm.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "874194123718e625aa96632bac457d686ba1378e",
      "tree": "0594c7d50d05157f564afdd364956daa4062cf9f",
      "parents": [
        "bb04aa78ec1393295c30edad154e6f6e906955f3"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:06 2009 -0700"
      },
      "message": "sgi-gru: aSID (context management) bug fixes\n\nThis patch fixes bugs related to ASID (context id) management in the GRU\ndriver.  These changes are all internal to the SGI GRU driver and have no\neffect on the base kernel.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb04aa78ec1393295c30edad154e6f6e906955f3",
      "tree": "b1708c39b7f649f6aac36b7f04ff69083190740a",
      "parents": [
        "e56484da3aa550dace96cbf1202446231471d7e1"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:06 2009 -0700"
      },
      "message": "sgi-gru: add support for a user to explicitly unload a GRU context\n\nAdd support for a user to explicitly unload a GRU context.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e56484da3aa550dace96cbf1202446231471d7e1",
      "tree": "547f067876c0610c989a268ce0b19ef6986ee302",
      "parents": [
        "a24e5e1caf4875bbe09f328b5f4daef6d25ebcc4"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:06 2009 -0700"
      },
      "message": "sgi-gru: add statistics to the GRU context management functions\n\nAdd statistics to the GRU context management functions.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a24e5e1caf4875bbe09f328b5f4daef6d25ebcc4",
      "tree": "3b9214880d848c1b4b071fcf00eb39a8ef8cb47b",
      "parents": [
        "438846043af39fef286f68b197d42bd75f49898e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:06 2009 -0700"
      },
      "message": "sgi-gru: change GRU CCH commands from inline functions to outofline functions\n\nChange the GRU instructions that manage contexts from inline functions to\nout-of-line functions.  This simplifies adding statistics \u0026 error checking\nto these functions.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "438846043af39fef286f68b197d42bd75f49898e",
      "tree": "e73bd2e6cdbc2e2ca8a1daac2651f6efb5fc84fd",
      "parents": [
        "fe5bb6b00c3a9374841d651e01694fe4190a677e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:05 2009 -0700"
      },
      "message": "sgi-gru: improvements to GRU debug messages \u0026 statistics\n\nImprovements to GRU debug messages \u0026 statistics.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe5bb6b00c3a9374841d651e01694fe4190a677e",
      "tree": "8580ba3dac70d236261557a458df535cdc0e2acd",
      "parents": [
        "66666e50fcd69d80117d7d243ce02e1f774cbaf5"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Thu Apr 02 16:59:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:05 2009 -0700"
      },
      "message": "sgi-gru: misc GRU cleanup\n\nMisc trivial GRU drivers fixes:\n\t- fix long lines\n\t- eliminate extra whitespace\n\t- eliminate compiler warning\n\t- better validation of invalidate user parameters\n\t- bug fix for GRU TLB flush (not the cpu TLB flush)\n\nThese changes are all internal to the SGI GRU driver and have no effect\non the base kernel.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c0040047d5499599cc231ca3f105be3ceff8562",
      "tree": "4c1266a5763de66a2f3d3ebff8a5a87249baa88d",
      "parents": [
        "9c8bb6b534d1c89a20bf9bb45e1471cf8f4747c0"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Mon Feb 09 10:25:20 2009 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 13:31:47 2009 +0100"
      },
      "message": "SGI IA64 UV: fix ia64 build error in the linux-next tree\n\nFix the ia64 build error that occurs in the linux-next tree by introducing\nan ia64 version of uv.h.\n\nAdditionally, clean up the usage of is_uv_system().\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5b221278d61e3907a5e4104a844b63bc8bb3d43a",
      "tree": "3fb6c97177f486aad5b27481876b0851764dc0ca",
      "parents": [
        "ace6c6c840878342f698f0da6588dd5ded755369"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 11:30:07 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 11:59:11 2009 +0100"
      },
      "message": "x86: uv cleanup, build fix #2\n\nFix more build-failure fallout from the UV cleanup - the UV drivers\nwere not updated to include \u003casm/uv/uv.h\u003e.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb0dc43eeeea6a3ace7fae42e583a9be176eb1f9",
      "tree": "dae8d982a9dd5ee9c575404533bff4c829209aca",
      "parents": [
        "35f74fcab1228be03eab5f4d21ddc89fca1bc5b8"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:37 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:37 2009 -0800"
      },
      "message": "SGI: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCC: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c15cb37cc4e9809624411333b96109ddf770e29c",
      "tree": "3d4dbb48d97d5df9096ad815b99b20660cdc1bbf",
      "parents": [
        "77be80e437fec44f8b7a620314b7d7b605b8d93b",
        "8b1fae4e4200388b64dd88065639413cb3f1051c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 22:53:53 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 22:53:53 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc8\u0027 into x86/uv\n"
    },
    {
      "commit": "023a407f1cdc8b86903495d7ce0d2abae0f8bce5",
      "tree": "37aba8187d317f27dd0202d3a3fcf737bcc9c3b9",
      "parents": [
        "6afc9be1de0b938169d8985a3add0e3727ebc717"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Dec 09 10:51:32 2008 -0600"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Dec 09 10:06:43 2008 -0800"
      },
      "message": "[IA64] Fix GRU compile error w/o CONFIG_HUGETLB_PAGE\n\nEliminate compile error when compiling without CONFIG_HUGETLB_PAGE.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "026bde120a161d9035502a47dd311bd572f6d31f",
      "tree": "33c611fe977766b98442db0b99700e8e1921171b",
      "parents": [
        "7a0d7940e7c7c143520e38900ddd4e217d3c6640"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Tue Dec 02 08:06:01 2008 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 02 15:51:35 2008 -0800"
      },
      "message": "sgi-gru: call fs_initcall() if statically linked\n\nIf xpc.ko and gru.ko are both statically linked into the kernel, then\nxpc_init() can get called before gru_init() and make a call to one of the\ngru\u0027s exported functions before the gru has initialized itself. The end\nresult is a NULL dereference.\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fbc2a06056c9aa3cb8c44bf1cfeb1d260e229e5c",
      "tree": "feb2a1c13ad3dff5a8c7ab3c0265e8eca7a0c5a3",
      "parents": [
        "a3d732f93785da17e0137210deadb4616f5536fc",
        "ee2f6cc7f9ea2542ad46070ed62ba7aa04d08871"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 20 09:02:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 20 09:02:39 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/uv\n"
    },
    {
      "commit": "415d8cfa845ec9dac42e7b354b1f80485805455b",
      "tree": "c9bec903883e34bb2b909d1121edc1eb24f2ef32",
      "parents": [
        "6e8ba729b6332f2a75572e02480936d2b51665aa"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Nov 19 15:36:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:57 2008 -0800"
      },
      "message": "GRU: fix for debug option\n\nEnable -D DEBUG in the GRU Makefile if CONFIG_SGI_GRU_DEBUG is selected.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d732f93785da17e0137210deadb4616f5536fc",
      "tree": "4b7bdbaf63369063a1478c4d91d027bcd82fc271",
      "parents": [
        "7d9d1f25c3872080ce599e5dd0dac3305d0a028b"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Mon Nov 10 16:16:31 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 11:38:50 2008 +0100"
      },
      "message": "x86, UV: fix redundant creation of sgi_uv\n\nImpact: fix double entry creation in /proc\n\nThere is a collision between two UV functions:\n  both uv_ptc_init() and gru_proc_init() try to make /proc/sgi_uv\n\nSo move it\u0027s creation to a single place: uv_system_init()\n\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "923f7f6970bd448b8e88b9e4be10fd01fc7106a4",
      "tree": "5e9f5646f547eaa345068f177815ebadd6a95454",
      "parents": [
        "ebf3f09c634906d371f2bfd71b41c7e0c52efe7e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Oct 15 22:05:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:51 2008 -0700"
      },
      "message": "GRU driver: minor updates\n\nA few minor updates for the GRU driver.\n\t- documentation changes found in code reviews\n\t- changes to #ifdefs to make them recognized by \"unifdef\"\n\t  (used in simulator testing)\n\t- change GRU context load/unload to prefetch data\n\n[akpm@linux-foundation.org: fix typo in comment]\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbf330b94e9c888e9d2b99523037f9be5c4ba795",
      "tree": "db0d0c4e873dfec8a46a127c63e86eeaf51fbeb0",
      "parents": [
        "1ecfea06386c6b1344e83c8f909c87c88262ba1d"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Oct 15 22:01:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:30 2008 -0700"
      },
      "message": "drivers/misc: Use DIV_ROUND_UP\n\nThe kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /\n(d)) but is perhaps more readable.\n\nAn extract of the semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@haskernel@\n@@\n\n#include \u003clinux/kernel.h\u003e\n\n@depends on haskernel@\nexpression n,d;\n@@\n\n(\n- (n + d - 1) / d\n+ DIV_ROUND_UP(n,d)\n|\n- (n + (d - 1)) / d\n+ DIV_ROUND_UP(n,d)\n)\n\n@depends on haskernel@\nexpression n,d;\n@@\n\n- DIV_ROUND_UP((n),d)\n+ DIV_ROUND_UP(n,d)\n\n@depends on haskernel@\nexpression n,d;\n@@\n\n- DIV_ROUND_UP(n,(d))\n+ DIV_ROUND_UP(n,d)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8275d102f8dbaa4f437f6b03b00d85bfb4e16025",
      "tree": "039189a824d81d8968143e166c77f88ee31593ad",
      "parents": [
        "ecc9a04de66e7b2d40d539cc39d5798bc46553e9"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Sat Sep 13 02:33:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:52 2008 -0700"
      },
      "message": "ia64: fix panic during `modprobe -r xpc\u0027\n\nIf you are on ia64 and you modprobe xpc then modprobe -r xpc, you\nimmediately get a panic.  xpc depends on xp which depends on gru for a\nsymbol.  That symbol is only used when we are running on UV hardware.\n\nCurrently, the GRU driver detects we are not on UV hardware and does no\ninitializing.  It does not do the same check when unloading.  As a result,\nthe gru driver attempts to tear down stuff that was not setup.\n\nThis is a simple two-line workaround to get us through this release.  Once\n2.6.28 is opened, we need to rework the symbols that xp is depending on\nfrom gru so the gru driver can properly fail to load when hardware is not\navailable.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a4ad39b3de60ad0e75a78098be0f0eb1722b753",
      "tree": "b4aff052ce77c4c5761c1278a690c4ab22976dda",
      "parents": [
        "969830b2fedf8336c41d6195f49d250b1e166ff8"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Aug 12 15:08:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:29 2008 -0700"
      },
      "message": "GRU: fix preprocessor symbol for sparse\n\nFix preprocessor symbol so that sparse sees it and does not generate\nerrors:\n\n  drivers/misc/sgi-gru/grutables.h:286:2: error: \"Unsupported architecture\"\n  drivers/misc/sgi-gru/grutables.h:286:2: error: \"Unsupported architecture\"\n  drivers/misc/sgi-gru/grutables.h:286:2: error: \"Unsupported architecture\"\n  drivers/misc/sgi-gru/grutables.h:286:2: error: \"Unsupported architecture\"\n  drivers/misc/sgi-gru/grutlbpurge.c:185:11: error: undefined identifier \u0027GRUREGION\u0027\n  drivers/misc/sgi-gru/grutables.h:286:2: error: \"Unsupported architecture\"\n  drivers/misc/sgi-gru/grutables.h:286:2: error: \"Unsupported architecture\"\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc39778f952a820b7da45756a900a4778da343cd",
      "tree": "a89323d08c62dff0c413f9e4e2f273e60a45b9ad",
      "parents": [
        "dc60bf1d8328076c27fe07c1849a5c8399bafc39"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Tue Aug 05 13:01:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:49 2008 -0700"
      },
      "message": "drivers/misc/sgi-gru/grutlbpurge.c: removed duplicated #include\n\nRemoved duplicated include \u003clinux/delay.h\u003e in\ndrivers/misc/sgi-gru/grutlbpurge.c.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "9ca8e40c130c906c1060d105e63628410c860261"
}
